* aidepost.c, citadel.h, citmail.c, file_ops.c, msgbase.c, netmailer.c, netproc.c, rcit.c, server.h, stats.c, userlist.c: use time_t where
needed
* control.c, room_ops.c, serv_chat.c, sysdep.c: use memset() instead of bzero()
* dynloader.c, dynloader.h, messages.c, server.h, sysdep.c,
sysdep_decls.h: function pointer/prototyping fixes
+1998-10-08 Nathan Bryant <bryant@cs.usm.maine.edu>
+ * lots of warning fixes; builds with -std1 on dec unix
+ * aidepost.c, citadel.h, citmail.c, file_ops.c, msgbase.c, netmailer.c,
+ netproc.c, rcit.c, server.h, stats.c, userlist.c: use time_t where
+ needed
+ * control.c, room_ops.c, serv_chat.c, sysdep.c: use memset() instead of
+ bzero()
+ * dynloader.c, dynloader.h, messages.c, server.h, sysdep.c,
+ sysdep_decls.h: function pointer/prototyping fixes
+
1998-10-07 Nathan Bryant <bryant@cs.usm.maine.edu>
* snprintf.c, snprintf.h: new files
* Makefile.in, configure.in, dynloader.c, sysdep.c: support for the
{
FILE *fp;
int a;
- long bb,cc,now;
+ long bb,cc;
+ time_t now;
time(&now);
fp=fopen(filename,"wb"); if (fp==NULL) exit(22);
putc(255,fp);
char QRpasswd[10]; /* Only valid if it's a private rm */
long QRroomaide; /* User number of room aide */
long QRhighest; /* Highest message NUMBER in room */
- long QRgen; /* Generation number of room */
+ time_t QRgen; /* Generation number of room */
unsigned QRflags; /* See flag values below */
char QRdirname[15]; /* Directory name, if applicable */
long QRinfo; /* Info file update relative to msgs*/
long conv_date(char *sdbuf)
{
int a,b,cpos,tend,tval;
- long now;
+ time_t now;
struct tm *tmbuf;
char dbuf[128];
*/
void do_citmail(char recp[], int dtype) {
- long now;
+ time_t now;
FILE *temp;
int a;
char buf[128];
* the system functions with all control record fields initialized
* to zero.
*/
- bzero(&CitControl, sizeof(struct CitControl));
+ memset(&CitControl, 0, sizeof(struct CitControl));
fp = fopen("citadel.control", "rb");
if (fp == NULL) return;
continue;
}
- h_init_fcn = dlsym(fcn_handle, "Dynamic_Module_Init");
+ h_init_fcn = (struct DLModule_Info * (*)(void))
+ dlsym(fcn_handle, "Dynamic_Module_Init");
+
if ((dl_error = dlerror()) != NULL)
{
fprintf(stderr,"DLoader_Init dlsym failed (%s)\n", dl_error);
-void CtdlRegisterCleanupHook(void *fcn_ptr) {
+void CtdlRegisterCleanupHook(void (*fcn_ptr)(void)) {
struct CleanupFunctionHook *newfcn;
}
-void CtdlRegisterSessionHook(void *fcn_ptr, int EventType) {
+void CtdlRegisterSessionHook(void (*fcn_ptr)(void), int EventType) {
struct SessionFunctionHook *newfcn;
}
-void CtdlRegisterUserHook(void *fcn_ptr, int EventType) {
+void CtdlRegisterUserHook(void (*fcn_ptr)(char*, long), int EventType) {
struct UserFunctionHook *newfcn;
void DLoader_Init(char *pathname);
int DLoader_Exec_Cmd(char *cmdbuf);
-void CtdlRegisterCleanupHook(void *fcn_ptr);
-void CtdlRegisterSessionHook(void *fcn_ptr, int StartStop);
+void CtdlRegisterCleanupHook(void (*fcn_ptr)(void));
+void CtdlRegisterSessionHook(void (*fcn_ptr)(void), int EventType);
void PerformSessionHooks(int EventType);
void PerformUserHooks(char *username, long usernum, int EventType);
void CtdlRegisterProtoHook(void (*handler)(char *), char *cmd, char *desc);
-void CtdlRegisterUserHook(void *fcn_ptr, int EventType);
+void CtdlRegisterUserHook(void (*fcn_ptr)(char*, long), int EventType);
struct DLModule_Info *Dynamic_Module_Init(void);
{
char pathname[256],filename[256],destsys[256],buf[256],outfile[256];
int a,e;
- long now;
+ time_t now;
FILE *ofp;
extract(filename,cmdbuf,0);
void cmd_ucls(char *cmd)
{
FILE *fp;
- long now;
+ time_t now;
if (CC->upload_fp == NULL) {
cprintf("%d You don't have an upload file open.\n",ERROR);
int lines_printed;
-void ka_sigcatch(void) {
+void ka_sigcatch(int signum) {
char buf[256];
alarm(S_KEEPALIVE);
- signal(SIGALRM, (void *)ka_sigcatch);
+ signal(SIGALRM, ka_sigcatch);
serv_puts("NOOP");
serv_gets(buf);
}
pid_t p;
alarm(S_KEEPALIVE);
- signal(SIGALRM, (void *)ka_sigcatch);
+ signal(SIGALRM, ka_sigcatch);
do {
errno = 0;
p = wait(kstatus);
char snode[256];
char lnode[256];
char mid[256];
- long xtime;
+ time_t xtime;
/* */
strcpy(boundary, "");
*/
void aide_message(char *text)
{
- long now;
+ time_t now;
FILE *fp;
time(&now);
FILE *fp;
int a;
- long now;
+ time_t now;
char dest_node[32];
char buf[256];
char bbb[1024];
char subject[1024];
FILE *fp;
- long now;
+ time_t now;
if (argc==2) if (!strcmp(argv[1],"-q")) qwk = 1;
fp=stdin;
* modified to format 80 columns into a temporary file, and extract the
* sender and recipient names for use within the main() loop.
*/
-void msgform(char *msgfile, FILE *mfout, char *sbuf, char *rbuf, char *nbuf, char *pbuf, long int *mid_buf, char *rmname, char *subj)
+void msgform(char *msgfile, FILE *mfout, char *sbuf, char *rbuf, char *nbuf, char *pbuf, time_t *mid_buf, char *rmname, char *subj)
/* sender */
char sbuf[200],rbuf[200],cstr[100],fstr[128];
char nbuf[64],pbuf[128],rmname[128],buf[128];
char subject[200];
- long mid_buf;
- long now;
+ time_t mid_buf;
+ time_t now;
int mlist = 0;
fprintf(stderr, "netmailer: started... sending mail to %s\n", argv[1]);
char s_name[16];
char s_type[4];
char s_nexthop[128];
- long s_lastcontact;
+ time_t s_lastcontact;
char s_humannode[64];
char s_phonenum[32];
char s_gdom[64];
void rewrite_syslist(void) {
struct syslist *stemp;
FILE *newfp;
- long now;
+ time_t now;
time(&now);
newfp=fopen("network/mail.sysinfo","w");
FILE *bounce;
char bfilename[64];
static int bseq = 1;
- long now;
+ time_t now;
sprintf(bfilename,"./network/spoolin/bounce.%d.%d",getpid(),bseq++);
bounce = fopen(bfilename,"wb");
char subject[128];
char orgname[128];
long mid = 0L;
- long now,bcount,aa;
+ time_t now;
+ long bcount,aa;
int a;
char flnm[128],tname[128];
FILE *minput,*mout,*mtemp;
lowercase_name[a] = tolower(room_name[a]);
}
- bzero(qrbuf, sizeof(struct quickroom));
+ memset(qrbuf, 0, sizeof(struct quickroom));
cdbqr = cdb_fetch(CDB_QUICKROOM,
lowercase_name, strlen(lowercase_name));
if (cdbqr != NULL) {
{
struct cdbdata *cdbfl;
- bzero(flbuf, sizeof(struct floor));
+ memset(flbuf, 0, sizeof(struct floor));
cdbfl = cdb_fetch(CDB_FLOORTAB, &floor_num, sizeof(int));
if (cdbfl != NULL) {
memcpy(flbuf, cdbfl->ptr,
cdb_rewind(CDB_QUICKROOM);
while(cdbqr = cdb_next_item(CDB_QUICKROOM), cdbqr != NULL) {
- bzero(&qrbuf, sizeof(struct quickroom));
+ memset(&qrbuf, 0, sizeof(struct quickroom));
memcpy(&qrbuf, cdbqr->ptr,
( (cdbqr->len > sizeof(struct quickroom)) ?
sizeof(struct quickroom) : cdbqr->len) );
cprintf("%d Who knows room:\n",LISTING_FOLLOWS);
cdb_rewind(CDB_USERSUPP);
while(cdbus = cdb_next_item(CDB_USERSUPP), cdbus != NULL) {
- bzero(&temp, sizeof(struct usersupp));
+ memset(&temp, 0, sizeof(struct usersupp));
memcpy(&temp, cdbus->ptr, cdbus->len);
cdb_free(cdbus);
if (getroom(&qrbuf, new_room_name)==0) return(0); /* already exists */
- bzero(&qrbuf, sizeof(struct quickroom));
+ memset(&qrbuf, 0, sizeof(struct quickroom));
strncpy(qrbuf.QRname,new_room_name,ROOMNAMELEN);
strncpy(qrbuf.QRpasswd,new_room_pass,9);
qrbuf.QRflags = QR_INUSE;
}
clnew = (struct ChatLine *) malloc(sizeof(struct ChatLine));
- bzero(clnew, sizeof(struct ChatLine));
+ memset(clnew, 0, sizeof(struct ChatLine));
if (clnew == NULL) {
fprintf(stderr, "citserver: cannot alloc chat line: %s\n",
strerror(errno));
struct ExpressMessage *FirstExpressMessage;
int cs_pid; /* session ID */
char cs_room[20]; /* current room */
- long cs_lastupdt; /* time of last update */
+ time_t cs_lastupdt; /* time of last update */
time_t lastcmd; /* time of last command executed */
time_t lastidle; /* For computing idle time */
char lastcmdname[5]; /* name of last command executed */
struct CleanupFunctionHook {
struct CleanupFunctionHook *next;
- void *(*h_function_pointer) (void);
+ void (*h_function_pointer) (void);
};
extern struct CleanupFunctionHook *CleanupHookTable;
*/
struct SessionFunctionHook {
struct SessionFunctionHook *next;
- void *(*h_function_pointer) (void);
+ void (*h_function_pointer) (void);
int eventtype;
};
extern struct SessionFunctionHook *SessionHookTable;
*/
struct UserFunctionHook {
struct UserFunctionHook *next;
- void *(*h_function_pointer) (char *username, long usernum);
+ void (*h_function_pointer) (char *username, long usernum);
int eventtype;
};
extern struct UserFunctionHook *UserHookTable;
}
int
-halfhour (long int time) /* Returns half-hour time period of time */
+halfhour (time_t time) /* Returns half-hour time period of time */
{
int a;
long cftime, cttime, aa;
int calls, logins, newusers;
int badpws, terms, drops, sleeps;
- long from, to, tottime;
+ time_t from, to, tottime;
int days, hours, minutes;
char aaa[100];
struct tm *tm;
if (!batch_mode)
printf ("Scanning call log, please wait...\n\n\n\n");
- from = 0L;
- to = 0L;
+ from = 0;
+ to = 0;
for (a = 0; a < 72; ++a)
{
timeon[a] = 0L;
struct sockaddr_in sin;
int s, i;
- bzero((char *)&sin, sizeof(sin));
+ memset(&sin, 0, sizeof(sin));
sin.sin_family = AF_INET;
sin.sin_addr.s_addr = INADDR_ANY;
lprintf(1, "citserver: can't allocate memory!!\n");
pthread_exit(NULL);
}
- bzero(me, sizeof(struct CitContext));
+ memset(me, 0, sizeof(struct CitContext));
begin_critical_section(S_SESSION_TABLE);
me->next = ContextList;
/*
* The system-dependent wrapper around the main context loop.
*/
-void sd_context_loop(struct CitContext *con) {
+void *sd_context_loop(struct CitContext *con) {
pthread_cleanup_push(*cleanup_stuff, NULL);
context_loop(con);
pthread_cleanup_pop(0);
+ return NULL;
}
/* now create the thread */
lprintf(9, "creating thread\n");
- if (pthread_create(&SessThread, &attr, (void *)sd_context_loop,
- con) != 0) {
+ if (pthread_create(&SessThread, &attr,
+ (void* (*)(void*)) sd_context_loop,
+ con)
+ != 0) {
lprintf(1,
"citserver: can't create thread: %s\n",
strerror(errno));
void sysdep_master_cleanup (void);
void cleanup (int exit_code);
void kill_session (int session_to_kill);
-void sd_context_loop (struct CitContext *con);
+void *sd_context_loop (struct CitContext *con);
void start_daemon (int do_close_stdio);
void cmd_nset (char *cmdbuf);
int convert_login (char *NameToConvert);
char buf[256];
char fl[256];
struct tm *tmbuf;
- long lc;
+ time_t lc;
serv_puts("LIST");
serv_gets(buf);