X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fcitadel.c;h=7e5ef874a2351bf2233c80e1a4b657bdce81c01f;hb=4eb74b26380dfde31c86c685f0589e0c653aebf0;hp=b2d2b5d3884e33681a1ba4d6381a7c95f825f01d;hpb=35707bd874630d38fb1b9d13fd0ad5e73c121217;p=citadel.git diff --git a/citadel/citadel.c b/citadel/citadel.c index b2d2b5d38..7e5ef874a 100644 --- a/citadel/citadel.c +++ b/citadel/citadel.c @@ -2,6 +2,22 @@ * $Id$ * * Main source module for the client program. + * + * Copyright (c) 1987-2009 by the citadel.org team + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "sysdep.h" @@ -113,13 +129,12 @@ int enable_syslog = 0; /* - * lprintf() ... Write logging information; + * CtdlLogPrintf() ... Write logging information; * simple here to have the same * symbols in the client. */ -enum LogLevel {CTDL_EMERG}; -void lprintf(enum LogLevel loglevel, const char *format, ...) { +void CtdlLogPrintf(enum LogLevel loglevel, const char *format, ...) { va_list arg_ptr; va_start(arg_ptr, format); @@ -369,6 +384,7 @@ void dotgoto(CtdlIPC *ipc, char *towhere, int display_name, int fromungoto) int ugpos = uglistsize; int r; /* IPC result code */ struct ctdlipcroom *room = NULL; + int rv = 0; /* store ungoto information */ if (fromungoto == 0) { @@ -503,7 +519,7 @@ void dotgoto(CtdlIPC *ipc, char *towhere, int display_name, int fromungoto) } color(DIM_WHITE); if (!IsEmptyStr(rc_gotmail_cmd)) { - system(rc_gotmail_cmd); + rv = system(rc_gotmail_cmd); } } status_line(ipc->ServInfo.humannode, ipc->ServInfo.site_location, @@ -769,16 +785,6 @@ void gotoroomstep(CtdlIPC *ipc, int direction, int mode) char rmname[ROOMNAMELEN]; int rmslot = 0; int rmtotal; - struct ctdlroom *attr = NULL; - - /* Fetch the existing room config */ - r = CtdlIPCGetRoomAttributes(ipc, &attr, buf); - if (r / 100 != 2) { - scr_printf("%s\n", buf); - return; - } - strcpy (room_name , attr->QRname); - free(attr); /* Ask the server for a room list */ r = CtdlIPCKnownRooms(ipc, SubscribedRooms, (-1), &listing, buf); @@ -1020,11 +1026,12 @@ void system_info(CtdlIPC *ipc) scr_printf("You are connected to %s (%s) @%s\n", ipc->ServInfo.nodename, ipc->ServInfo.humannode, ipc->ServInfo.fqdn); scr_printf("running %s with text client v%.2f,\n", ipc->ServInfo.software, (float)REV_LEVEL/100); + scr_printf("server build %s,\n", ipc->ServInfo.svn_revision, (float)REV_LEVEL/100); scr_printf("and located in %s.\n", ipc->ServInfo.site_location); scr_printf("Connected users %d / Active users %d / Highest message #%ld\n", mrtg_users, mrtg_active_users, mrtg_himessage); scr_printf("Server uptime: %s\n", mrtg_server_uptime); scr_printf("Your system administrator is %s.\n", ipc->ServInfo.sysadm); - scr_printf("Copyright (C)1987-2008 by the Citadel development team\n"); + scr_printf("Copyright (C)1987-2009 by the Citadel development team\n"); } /* @@ -1145,6 +1152,14 @@ void get_serv_info(CtdlIPC *ipc, char *supplied_hostname) /* Look up the , in the bible if you're confused */ (locate_host(ipc, buf), buf), buf); + /* Indicate to the server that we prefer to decode Base64 and + * quoted-printable on the client side. + */ + if ((CtdlIPCSpecifyPreferredFormats(ipc, buf, "dont_decode") / 100 ) != 2) { + scr_printf("ERROR: Extremely old server; MSG4 framework not supported.\n"); + logoff(ipc, 0); + } + /* * Tell the server what our preferred content formats are. * @@ -1152,14 +1167,7 @@ void get_serv_info(CtdlIPC *ipc, char *supplied_hostname) * it to the reader's screen width, but since our HTML-to-text parser * isn't really all that great, it's probably better to just go with * the plain text when we have it available. - * - * We also indicate to the server that we prefer to decode Base64 and - * quoted-printable on the client side. */ - if ((CtdlIPCSpecifyPreferredFormats(ipc, buf, "dont_decode") / 100 ) != 2) { - scr_printf("ERROR: Extremely old server; MSG4 framework not supported.\n"); - logoff(ipc, 0); - } if ((CtdlIPCSpecifyPreferredFormats(ipc, buf, "text/plain|text/html") / 100 ) != 2) { scr_printf("ERROR: Extremely old server; MSG4 framework not supported.\n"); logoff(ipc, 0); @@ -1407,6 +1415,7 @@ int main(int argc, char **argv) struct ctdluser *myself = NULL; CtdlIPC* ipc; /* Our server connection */ int r; /* IPC result code */ + int rv = 0; /* fetch but ignore syscall return value to suppress warnings */ int relh=0; int home=0; @@ -1743,7 +1752,7 @@ NEWUSR: if (IsEmptyStr(rc_password)) { scr_printf("*** You have %d new private messages in Mail>\n", b); color(DIM_WHITE); if (!IsEmptyStr(rc_gotmail_cmd)) { - system(rc_gotmail_cmd); + rv = system(rc_gotmail_cmd); } } if ((axlevel >= 6) && (chek.needvalid > 0)) { @@ -2213,10 +2222,6 @@ NEWUSR: if (IsEmptyStr(rc_password)) { deletefile(ipc); break; - case 53: - netsendfile(ipc); - break; - case 54: movefile(ipc); break;