$Log$
+ Revision 580.65 2001/10/17 20:41:07 nbryant
+ - declare *printf format specifiers if gcc detected
+ - format string fixes (compiles w/o warnings on alpha osf/1)
+
Revision 580.64 2001/10/17 19:40:38 nbryant
warning fixes and cleanups for 64-bit machines
Fri Jul 10 1998 Art Cancro <ajc@uncensored.citadel.org>
* Initial CVS import
-
tv = time(NULL);
- cprintf("%d %ld\n", OK, tv);
+ cprintf("%d %ld\n", OK, (long)tv);
}
/*
gettimeofday(&tv, NULL);
memset(con->cs_nonce, NONCE_SIZE, 0);
snprintf(con->cs_nonce, NONCE_SIZE, "<%d%ld@%s>",
- rand(), tv.tv_usec, config.c_fqdn);
+ rand(), (long)tv.tv_usec, config.c_fqdn);
}
void async_ka_end(void);
int checkpagin(int lp, int pagin, int height);
char was_a_key_pressed(void);
+
+#ifdef __GNUC__
+void pprintf(const char *format, ...) __attribute__((__format__(__printf__,1,2)));
+#else
void pprintf(const char *format, ...);
+#endif
cprintf("%d\n", config.c_roompurge);
cprintf("%s\n", config.c_logpages);
cprintf("%d\n", config.c_createax);
- cprintf("%d\n", config.c_maxmsglen);
+ cprintf("%ld\n", config.c_maxmsglen);
cprintf("%d\n", config.c_min_workers);
cprintf("%d\n", config.c_max_workers);
cprintf("%d\n", config.c_pop3_port);
modtime = (time_t) statbuf.st_mtime;
cprintf("%d %ld|%ld|%s|%s\n",
- OK, filesize, modtime, filename, mime_type);
+ OK, filesize, (long)modtime, filename, mime_type);
}
}
if (is_literal) {
- cprintf("{%d}\r\n%s", strlen(buf), buf);
+ cprintf("{%ld}\r\n%s", strlen(buf), buf);
} else {
cprintf("\"%s\"", buf);
}
if (!strcasecmp(key, "Date")) {
parsed_date = parsedate(value);
if (parsed_date < 0L) parsed_date = time(NULL);
- snprintf(buf, sizeof buf, "%ld", parsed_date );
+ snprintf(buf, sizeof buf, "%ld", (long)parsed_date );
if (msg->cm_fields['T'] == NULL)
msg->cm_fields['T'] = strdoop(buf);
processed = 1;
msg->cm_format_type = FMT_RFC822; /* internet message */
msg->cm_fields['M'] = rfc822;
- lprintf(9, "Unconverted RFC822 message length = %d\n", strlen(rfc822));
+ lprintf(9, "Unconverted RFC822 message length = %ld\n", strlen(rfc822));
pos = 0;
done = 0;
/* If there's no timestamp on this message, set it to now. */
if (msg->cm_fields['T'] == NULL) {
- snprintf(buf, sizeof buf, "%ld", time(NULL));
+ snprintf(buf, sizeof buf, "%ld", (long)time(NULL));
msg->cm_fields['T'] = strdoop(buf);
}
- lprintf(9, "RFC822 length remaining after conversion = %d\n",
+ lprintf(9, "RFC822 length remaining after conversion = %ld\n",
strlen(rfc822));
return msg;
}
/* Truncate if the header told us to */
if ( (content_length > 0) && (length > content_length) ) {
length = content_length;
- lprintf(9, "truncated to %d\n", content_length);
+ lprintf(9, "truncated to %ld\n", content_length);
}
mime_decode(partnum,
void *cbuserdata)
{
- cprintf("part=%s|%s|%s|%s|%s|%d\n",
+ cprintf("part=%s|%s|%s|%s|%s|%ld\n",
name, filename, partnum, disp, cbtype, length);
}
phree(ptr);
}
else if (strncasecmp(cbtype, "multipart/", 10)) {
- cprintf("Part %s: %s (%s) (%d bytes)\r\n",
+ cprintf("Part %s: %s (%s) (%ld bytes)\r\n",
partnum, filename, cbtype, length);
}
}
ret->len = ret->len +
strlen(msg->cm_fields[(int)forder[i]]) + 2;
- lprintf(9, "serialize_message() calling malloc(%d)\n", ret->len);
+ lprintf(9, "serialize_message() calling malloc(%ld)\n", ret->len);
ret->ser = mallok(ret->len);
if (ret->ser == NULL) {
ret->len = 0;
strcpy(&ret->ser[wlen], msg->cm_fields[(int)forder[i]]);
wlen = wlen + strlen(msg->cm_fields[(int)forder[i]]) + 1;
}
- if (ret->len != wlen) lprintf(3, "ERROR: len=%d wlen=%d\n",
+ if (ret->len != wlen) lprintf(3, "ERROR: len=%ld wlen=%ld\n",
ret->len, wlen);
return;
} else {
buffer_len = (buffer_len * 2);
m = ptr;
- lprintf(9, "buffer_len is %d\n", buffer_len);
+ lprintf(9, "buffer_len is %ld\n", buffer_len);
}
}
}
sprintf(buf,"./bio/%ld",ruser.usernum);
- cprintf("%d OK|%s|%ld|%d|%ld|%ld|%ld\n", LISTING_FOLLOWS,
+ cprintf("%d OK|%s|%ld|%d|%d|%ld|%ld\n", LISTING_FOLLOWS,
ruser.fullname, ruser.usernum, ruser.axlevel,
ruser.lastcall, ruser.timescalled, ruser.posted);
fp = fopen(buf,"r");
if (strcasecmp(CC->curr_user, t_context->curr_user))
allwrite(strptr1, 2, t_context->curr_user);
} else
- cprintf(":|User not found.\n", cmdbuf);
+ cprintf(":|User not found.\n");
cprintf("\n");
}
if ((cmdbuf[0] != '/') && (strlen(cmdbuf) > 0)) {
cprintf("%d %d|%ld|%d|%s|%s\n",
LISTING_FOLLOWS,
((ptr->next != NULL) ? 1 : 0), /* more msgs? */
- ptr->timestamp, /* time sent */
+ (long)ptr->timestamp, /* time sent */
ptr->flags, /* flags */
ptr->sender, /* sender of msg */
config.c_nodename); /* static for now */
age = time(NULL) - (qrbuf->QRmtime);
purge_secs = (time_t)config.c_roompurge * (time_t)86400;
if (purge_secs <= (time_t)0) return;
- lprintf(9, "<%s> is <%ld> seconds old\n", qrbuf->QRname, age);
+ lprintf(9, "<%s> is <%ld> seconds old\n", qrbuf->QRname, (long)age);
if (age > purge_secs) do_purge = 1;
} /* !QR_MAILBOX */
lprintf(9, "Generating delivery instructions\n");
instr = mallok(instr_len);
if (instr == NULL) {
- lprintf(1, "Cannot allocate %d bytes for instr...\n",
+ lprintf(1, "Cannot allocate %ld bytes for instr...\n",
instr_len);
abort();
}
}
if (network_talking_to(node, NTT_CHECK)) {
- cprintf("%d Already talking to %s right now\n", ERROR);
+ cprintf("%d Already talking to %s right now\n", ERROR, node);
return;
}
if (strlen(pw) != (MD5_HEXSTRING_SIZE-1))
{
- cprintf("%d Auth string of length %d is the wrong length (should be %d).\n", ERROR, strlen(pw), MD5_HEXSTRING_SIZE-1);
+ cprintf("%d Auth string of length %ld is the wrong length (should be %d).\n", ERROR, strlen(pw), MD5_HEXSTRING_SIZE-1);
return;
}
POP3->num_msgs = 0;
cprintf("+OK Citadel/UX POP3 server %s\r\n",
- CC->cs_nonce, config.c_fqdn);
+ CC->cs_nonce);
}
return;
}
else {
- cprintf("+OK %d %d\r\n",
+ cprintf("+OK %d %ld\r\n",
which_one,
POP3->msgs[which_one-1].rfc822_length
);
cprintf("+OK Here's your mail:\r\n");
if (POP3->num_msgs > 0) for (i=0; i<POP3->num_msgs; ++i) {
if (! POP3->msgs[i].deleted) {
- cprintf("%d %d\r\n",
+ cprintf("%d %ld\r\n",
i+1,
POP3->msgs[i].rfc822_length);
}
}
}
- cprintf("+OK %d %d\r\n", total_msgs, total_octets);
+ cprintf("+OK %d %ld\r\n", total_msgs, total_octets);
}
snprintf(instr, 1024,
"Content-type: %s\n\nmsgid|%ld\nsubmitted|%ld\n"
"bounceto|%s\n",
- SPOOLMIME, msgid, time(NULL),
+ SPOOLMIME, msgid, (long)time(NULL),
SMTP->from );
for (i=0; i<SMTP->number_of_recipients; ++i) {
"Content-type: %s\n\n%s\n"
"attempted|%ld\n"
"retry|%ld\n",
- SPOOLMIME, instr, time(NULL), retry );
+ SPOOLMIME, instr, (long)time(NULL), (long)retry );
phree(instr);
CtdlSaveMsg(msg, "", SMTP_SPOOLOUT_ROOM, MES_LOCAL);
CtdlFreeMessage(msg);
cprintf("%ld\n", usbuf->posted);
cprintf("%d\n", usbuf->axlevel);
cprintf("%ld\n", usbuf->usernum);
- cprintf("%ld\n", usbuf->lastcall);
+ cprintf("%ld\n", (long)usbuf->lastcall);
cprintf("%d\n", usbuf->USuserpurge);
cprintf("%s\n", usbuf->fullname);
cprintf("%d\n", usbuf->USscreenwidth);
cprintf("%s\n", qrbuf->QRpasswd);
cprintf("%ld\n", qrbuf->QRroomaide);
cprintf("%ld\n", qrbuf->QRhighest);
- cprintf("%ld\n", qrbuf->QRgen);
+ cprintf("%ld\n", (long)qrbuf->QRgen);
cprintf("%u\n", qrbuf->QRflags);
cprintf("%s\n", qrbuf->QRdirname);
cprintf("%ld\n", qrbuf->QRinfo);
cprintf("%d\n", qrbuf->QRfloor);
- cprintf("%ld\n", qrbuf->QRmtime);
+ cprintf("%ld\n", (long)qrbuf->QRmtime);
cprintf("%d\n", qrbuf->QRep.expire_mode);
cprintf("%d\n", qrbuf->QRep.expire_value);
cprintf("%ld\n", qrbuf->QRnumber);
}
}
fclose(artv_global_message_list);
- lprintf(7, "Exported %ld messages.\n", count);
+ lprintf(7, "Exported %d messages.\n", count);
}
void artv_import_message(void) {
struct SuppMsgInfo smi;
long msgnum;
- int msglen;
+ long msglen;
FILE *fp;
char buf[SIZ];
char tempfile[SIZ];
/* $Id$ */
#ifndef __DECC
+
+#ifdef __GNUC__
+int snprintf (char *buf, size_t max, const char *fmt, ...) __attribute__((__format__(__printf__,3,4)));
+int vsnprintf (char *buf, size_t max, const char *fmt, va_list argp) __attribute__((__format__(__printf__,3,0)));
+#else
int snprintf (char *buf, size_t max, const char *fmt, ...);
int vsnprintf (char *buf, size_t max, const char *fmt, va_list argp);
#endif
+
+#endif
#include "sysdep.h"
#include "server.h"
+#ifdef __GNUC__
+void lprintf (int loglevel, const char *format, ...) __attribute__((__format__(__printf__,2,3)));
+void cprintf (const char *format, ...) __attribute__((__format__(__printf__,1,2)));
+#else
void lprintf (int loglevel, const char *format, ...);
+void cprintf (const char *format, ...);
+#endif
+
void init_sysdep (void);
void begin_critical_section (int which_one);
void end_critical_section (int which_one);
struct CitContext *CreateNewContext (void);
void InitMyContext (struct CitContext *con);
void client_write (char *buf, int nbytes);
-void cprintf (const char *format, ...);
int client_read_to (char *buf, int bytes, int timeout);
int client_read (char *buf, int bytes);
int client_gets (char *buf);
void logged_in_response(void)
{
- cprintf("%d %s|%d|%d|%d|%u|%ld\n",
+ cprintf("%d %s|%d|%ld|%ld|%u|%ld\n",
OK, CC->usersupp.fullname, CC->usersupp.axlevel,
CC->usersupp.timescalled, CC->usersupp.posted,
CC->usersupp.flags,
if ((!strcasecmp(username, "bbs")) ||
(!strcasecmp(username, "new")) ||
(!strcasecmp(username, "."))) {
- cprintf("%d '%s' is an invalid login name.\n", ERROR);
+ cprintf("%d '%s' is an invalid login name.\n", ERROR, username);
return;
}
if (a == ERROR + ALREADY_EXISTS) {
if ((CC->usersupp.axlevel >= 6)
|| ((usbuf->flags & US_UNLISTED) == 0)
|| ((CC->internal_pgm))) {
- cprintf("%s|%d|%ld|%ld|%d|%d|",
+ cprintf("%s|%d|%ld|%d|%ld|%ld|",
usbuf->fullname,
usbuf->axlevel,
usbuf->usernum,
cprintf("%d No such user.\n", ERROR + NO_SUCH_USER);
return;
}
- cprintf("%d %s|%s|%u|%d|%d|%d|%ld|%ld|%d\n",
+ cprintf("%d %s|%s|%u|%ld|%ld|%d|%ld|%d|%d\n",
OK,
usbuf.fullname,
usbuf.password,