diff --git a/src/sbbs3/atcodes.cpp b/src/sbbs3/atcodes.cpp index 914735e2fd85b359e97393f8cdf6750388059147..738408863b8cfe4d0e6aa31efe09250b70393287 100644 --- a/src/sbbs3/atcodes.cpp +++ b/src/sbbs3/atcodes.cpp @@ -242,8 +242,7 @@ const char* sbbs_t::atcode(char* sp, char* str, size_t maxlen) return(smb_zonestr(sys_timezone(&cfg),str)); if(!strcmp(sp,"DATE") || !strcmp(sp,"SYSDATE")) { - now=time(NULL); - return(unixtodstr(&cfg,now,str)); + return(unixtodstr(&cfg,time32(NULL),str)); } if(!strcmp(sp,"DATETIME")) @@ -420,7 +419,7 @@ const char* sbbs_t::atcode(char* sp, char* str, size_t maxlen) if(!strcmp(sp,"TUSED")) { /* Synchronet only */ now=time(NULL); - return(sectostr(now-logontime,str)+1); + return(sectostr((uint)(now-logontime),str)+1); } if(!strcmp(sp,"TLEFT")) { /* Synchronet only */ @@ -453,7 +452,7 @@ const char* sbbs_t::atcode(char* sp, char* str, size_t maxlen) if(!strcmp(sp,"LASTTIMEON")) { memset(&tm,0,sizeof(tm)); - localtime_r(&useron.laston,&tm); + localtime32(&useron.laston,&tm); safe_snprintf(str,maxlen,"%02d:%02d %s" ,tm.tm_hour==0 ? 12 : tm.tm_hour>12 ? tm.tm_hour-12 @@ -512,7 +511,7 @@ const char* sbbs_t::atcode(char* sp, char* str, size_t maxlen) } if(!strcmp(sp,"LASTNEW")) - return(unixtodstr(&cfg,ns_time,str)); + return(unixtodstr(&cfg,(time32_t)ns_time,str)); if(!strcmp(sp,"NEWFILETIME")) return(timestr(ns_time)); @@ -566,7 +565,7 @@ const char* sbbs_t::atcode(char* sp, char* str, size_t maxlen) if(!strcmp(sp,"EXPDAYS")) { now=time(NULL); - l=useron.expire-now; + l=(long)(useron.expire-now); if(l<0) l=0; safe_snprintf(str,maxlen,"%lu",l/(1440L*60L)); diff --git a/src/sbbs3/bulkmail.cpp b/src/sbbs3/bulkmail.cpp index c6184cafe56de45c448a5f07e7b2d9078403cb07..4862002161a796c4c33128aaa1fb1465c44ad997 100644 --- a/src/sbbs3/bulkmail.cpp +++ b/src/sbbs3/bulkmail.cpp @@ -102,7 +102,7 @@ bool sbbs_t::bulkmail(uchar *ar) smb_hfield_str(&msg,SUBJECT,title); - msg.hdr.when_written.time=time(NULL); + msg.hdr.when_written.time=time32(NULL); msg.hdr.when_written.zone=sys_timezone(&cfg); if(editor!=NULL) diff --git a/src/sbbs3/client.h b/src/sbbs3/client.h index 0167556d2dfc4d10cb245c106254da0a25e92617..167b559065a1b835715f1d135688685324ac966c 100644 --- a/src/sbbs3/client.h +++ b/src/sbbs3/client.h @@ -8,7 +8,7 @@ * @format.tab-size 4 (Plain Text/Source Code File Header) * * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * * * - * Copyright 2000 Rob Swindell - http://www.synchro.net/copyright.html * + * Copyright 2011 Rob Swindell - http://www.synchro.net/copyright.html * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License * @@ -47,7 +47,7 @@ typedef struct { char addr[16]; /* IP address */ char host[64]; /* host name */ WORD port; /* TCP port number */ - time_t time; /* connect time */ + time32_t time; /* connect time */ const char* protocol; /* protocol description */ const char* user; /* user name */ char pad[32]; /* padding for future expansion */ diff --git a/src/sbbs3/con_out.cpp b/src/sbbs3/con_out.cpp index 3a0b8a1a2a63791317746454cd1958f05c5307d3..d14859dabf801c5641521ba354a8e9656dbdfc81 100644 --- a/src/sbbs3/con_out.cpp +++ b/src/sbbs3/con_out.cpp @@ -8,7 +8,7 @@ * @format.tab-size 4 (Plain Text/Source Code File Header) * * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * * * - * Copyright 2009 Rob Swindell - http://www.synchro.net/copyright.html * + * Copyright 2011 Rob Swindell - http://www.synchro.net/copyright.html * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License * @@ -465,7 +465,7 @@ void sbbs_t::ctrl_a(char x) break; case 'D': /* Date */ now=time(NULL); - bputs(unixtodstr(&cfg,now,tmp1)); + bputs(unixtodstr(&cfg,(time32_t)now,tmp1)); break; case ',': /* Delay 1/10 sec */ mswait(100); diff --git a/src/sbbs3/data.cpp b/src/sbbs3/data.cpp index d9e823ad4c8c08d666d833470c408410c708de7b..1ab30d5773f220ead5acdac7a2e622b671d9bcc9 100644 --- a/src/sbbs3/data.cpp +++ b/src/sbbs3/data.cpp @@ -8,7 +8,7 @@ * @format.tab-size 4 (Plain Text/Source Code File Header) * * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * * * - * Copyright 2010 Rob Swindell - http://www.synchro.net/copyright.html * + * Copyright 2011 Rob Swindell - http://www.synchro.net/copyright.html * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License * @@ -212,7 +212,7 @@ ulong sbbs_t::gettimeleft(bool handle_out_of_time) now=time(NULL); - timeleft = ::gettimeleft(&cfg, &useron, starttime); + timeleft = (ulong)::gettimeleft(&cfg, &useron, starttime); /* Timed event time reduction handler */ event_time=getnextevent(&cfg, &nextevent); @@ -223,7 +223,7 @@ ulong sbbs_t::gettimeleft(bool handle_out_of_time) if(event_time<now) timeleft=0; else - timeleft=event_time-now; + timeleft=(ulong)(event_time-now); if(!(sys_status&SS_EVENT)) { lprintf(LOG_NOTICE,"Node %d Time reduced (to %s) due to upcoming event (%s) on %s" ,cfg.node_num,sectostr(timeleft,tmp),event_code,timestr(event_time)); @@ -281,7 +281,7 @@ ulong sbbs_t::gettimeleft(bool handle_out_of_time) useron.exempt=cfg.val_exempt[cfg.level_expireto[useron.level]]; useron.rest=cfg.val_rest[cfg.level_expireto[useron.level]]; if(cfg.val_expire[cfg.level_expireto[useron.level]]) - useron.expire=now + useron.expire=(time32_t)now +(cfg.val_expire[cfg.level_expireto[useron.level]]*24*60*60); else useron.expire=0; @@ -305,7 +305,7 @@ ulong sbbs_t::gettimeleft(bool handle_out_of_time) putuserrec(&cfg,useron.number,U_FLAGS2,8,ultoa(useron.flags2,str,16)); putuserrec(&cfg,useron.number,U_FLAGS3,8,ultoa(useron.flags3,str,16)); putuserrec(&cfg,useron.number,U_FLAGS4,8,ultoa(useron.flags4,str,16)); - putuserrec(&cfg,useron.number,U_EXPIRE,8,ultoa(useron.expire,str,16)); + putuserrec(&cfg,useron.number,U_EXPIRE,8,ultoa((ulong)useron.expire,str,16)); putuserrec(&cfg,useron.number,U_EXEMPT,8,ultoa(useron.exempt,str,16)); putuserrec(&cfg,useron.number,U_REST,8,ultoa(useron.rest,str,16)); if(cfg.expire_mod[0]) diff --git a/src/sbbs3/date_str.c b/src/sbbs3/date_str.c index bf419999d24253be6e43bb160e5e99bbfa27f177..c532f0f1ac61bfad75e78915a5b5a537ed5042eb 100644 --- a/src/sbbs3/date_str.c +++ b/src/sbbs3/date_str.c @@ -8,7 +8,7 @@ * @format.tab-size 4 (Plain Text/Source Code File Header) * * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * * * - * Copyright 2009 Rob Swindell - http://www.synchro.net/copyright.html * + * Copyright 2011 Rob Swindell - http://www.synchro.net/copyright.html * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License * @@ -44,7 +44,7 @@ const char *mon[]={"Jan","Feb","Mar","Apr","May","Jun" /****************************************************************************/ /* Converts a date string in format MM/DD/YY into unix time format */ /****************************************************************************/ -time_t DLLCALL dstrtounix(scfg_t* cfg, char *instr) +time32_t DLLCALL dstrtounix(scfg_t* cfg, char *instr) { char* p; char* day; @@ -89,15 +89,16 @@ time_t DLLCALL dstrtounix(scfg_t* cfg, char *instr) if (tm.tm_mon) tm.tm_mon--; /* zero-based month field */ tm.tm_isdst=-1; /* Do not adjust for DST */ - return(mktime(&tm)); + return(mktime32(&tm)); } /****************************************************************************/ /* Converts unix time format (long - time_t) into a char str MM/DD/YY */ /****************************************************************************/ -char* DLLCALL unixtodstr(scfg_t* cfg, time_t unix_time, char *str) +char* DLLCALL unixtodstr(scfg_t* cfg, time32_t t, char *str) { struct tm tm; + time_t unix_time=t; if(!unix_time) strcpy(str,"00/00/00"); @@ -154,11 +155,12 @@ char* DLLCALL hhmmtostr(scfg_t* cfg, struct tm* tm, char* str) /* Generates a 24 character ASCII string that represents the time_t pointer */ /* Used as a replacement for ctime() */ /****************************************************************************/ -char* DLLCALL timestr(scfg_t* cfg, time_t intime, char* str) +char* DLLCALL timestr(scfg_t* cfg, time32_t t, char* str) { char* mer; uchar hour; struct tm tm; + time_t intime=t; if(localtime_r(&intime,&tm)==NULL) { strcpy(str,"Invalid Time"); diff --git a/src/sbbs3/download.cpp b/src/sbbs3/download.cpp index ec60690297249bc4a69104357cd632f93da69bfd..b76db1662b3ac20eacea3afb795067effe06f1b6 100644 --- a/src/sbbs3/download.cpp +++ b/src/sbbs3/download.cpp @@ -101,7 +101,7 @@ void sbbs_t::downloadfile(file_t* f) /*******************/ /* Update IXB File */ /*******************/ - f->datedled=time(NULL); + f->datedled=time32(NULL); sprintf(str,"%s%s.ixb",cfg.dir[f->dir]->data_dir,cfg.dir[f->dir]->code); if((file=nopen(str,O_RDWR))==-1) { errormsg(WHERE,ERR_OPEN,str,O_RDWR); @@ -160,7 +160,7 @@ void sbbs_t::notdownloaded(ulong size, time_t start, time_t end) sprintf(str,"Estimated Time: %s Transfer Time: %s" ,sectostr(cur_cps ? size/cur_cps : 0,tmp) - ,sectostr((uint)end-start,tmp2)); + ,sectostr((uint)(end-start),tmp2)); logline(nulstr,str); if(cfg.leech_pct && cur_cps /* leech detection */ && end-start>=cfg.leech_sec diff --git a/src/sbbs3/email.cpp b/src/sbbs3/email.cpp index 785d0019a7e4b668ec3e234f1abeaaa3544b53fc..a24e3b6f47930af9be633b0a2674690dba82d8a8 100644 --- a/src/sbbs3/email.cpp +++ b/src/sbbs3/email.cpp @@ -264,7 +264,7 @@ bool sbbs_t::email(int usernumber, const char *top, const char *subj, long mode) msg.hdr.attr=msgattr; if(mode&WM_FILE) msg.hdr.auxattr|=MSG_FILEATTACH; - msg.hdr.when_written.time=msg.hdr.when_imported.time=time(NULL); + msg.hdr.when_written.time=msg.hdr.when_imported.time=time32(NULL); msg.hdr.when_written.zone=msg.hdr.when_imported.zone=sys_timezone(&cfg); if(cfg.mail_maxcrcs) { diff --git a/src/sbbs3/execmisc.cpp b/src/sbbs3/execmisc.cpp index b2e3e0ded8a13354894c1c1ea08effda935484a0..5ddcf7fe0140bc93487a1f389c7877a970911cc1 100644 --- a/src/sbbs3/execmisc.cpp +++ b/src/sbbs3/execmisc.cpp @@ -8,7 +8,7 @@ * @format.tab-size 4 (Plain Text/Source Code File Header) * * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * * * - * Copyright 2010 Rob Swindell - http://www.synchro.net/copyright.html * + * Copyright 2011 Rob Swindell - http://www.synchro.net/copyright.html * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License * @@ -755,7 +755,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path) lp=getintvar(csi,*(int32_t *)csi->ip); csi->ip+=4; if(lp) - *lp=time(NULL); + *lp=time32(NULL); return(0); case DATE_STR_TO_INT: lp=getintvar(csi,*(int32_t *)csi->ip); @@ -763,7 +763,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path) pp=getstrvar(csi,*(int32_t *)csi->ip); csi->ip+=4; if(lp && pp && *pp) - *lp=dstrtounix(&cfg,*pp); + *lp=(int32_t)dstrtounix(&cfg,*pp); return(0); case STRLEN_INT_VAR: lp=getintvar(csi,*(int32_t *)csi->ip); @@ -833,7 +833,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path) csi->ip+=4; if(lp) { if(pp && *pp) - *lp=fdate(*pp); + *lp=(int32_t)fdate(*pp); else *lp=0; } @@ -1267,7 +1267,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path) lp2=getintvar(csi,*(int32_t *)csi->ip); csi->ip+=4; if(lp1 && (uint)*lp1<csi->files && lp2) - *lp2=filetime(fileno(csi->file[*lp1])); + *lp2=(int32_t)filetime(fileno(csi->file[*lp1])); return(0); case FIO_SET_TIME: lp1=getintvar(csi,*(int32_t *)csi->ip); diff --git a/src/sbbs3/fido.cpp b/src/sbbs3/fido.cpp index 1d293ad6a19dfbb8faaa1682dd6310d740d3cded..07d470f523031794fb2e948f91c6eff7182add80 100644 --- a/src/sbbs3/fido.cpp +++ b/src/sbbs3/fido.cpp @@ -8,7 +8,7 @@ * @format.tab-size 4 (Plain Text/Source Code File Header) * * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * * * - * Copyright 2010 Rob Swindell - http://www.synchro.net/copyright.html * + * Copyright 2011 Rob Swindell - http://www.synchro.net/copyright.html * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License * @@ -532,7 +532,7 @@ void sbbs_t::qwktonetmail(FILE *rep, char *block, char *into, uchar fromhub) memset(&msg,0,sizeof(smbmsg_t)); msg.hdr.version=smb_ver(); - msg.hdr.when_imported.time=time(NULL); + msg.hdr.when_imported.time=time32(NULL); msg.hdr.when_imported.zone=sys_timezone(&cfg); if(fromhub || useron.rest&FLAG('Q')) { @@ -596,7 +596,7 @@ void sbbs_t::qwktonetmail(FILE *rep, char *block, char *into, uchar fromhub) tm.tm_sec=0; tm.tm_isdst=-1; /* Do not adjust for DST */ - msg.hdr.when_written.time=mktime(&tm); + msg.hdr.when_written.time=mktime32(&tm); sprintf(str,"%.25s",block+71); /* Title */ smb_hfield(&msg,SUBJECT,strlen(str),str); diff --git a/src/sbbs3/filedat.c b/src/sbbs3/filedat.c index 8c327298a7c1930adba63f54056978bdc4401843..ea5e3aad9f347bed5ee725a3fc9f63ca4211bca7 100644 --- a/src/sbbs3/filedat.c +++ b/src/sbbs3/filedat.c @@ -75,7 +75,7 @@ BOOL DLLCALL getfiledat(scfg_t* cfg, file_t* f) if(!f->size) { /* only read disk if this is null */ getfilepath(cfg,f,str); if((f->size=(long)flength(str))>=0) - f->date=fdate(str); + f->date=(time32_t)fdate(str); /* } else { @@ -123,7 +123,7 @@ BOOL DLLCALL putfiledat(scfg_t* cfg, file_t* f) putrec(buf,F_TIMESDLED+5,2,crlf); putrec(buf,F_OPENCOUNT,3,ultoa(f->opencount,tmp,10)); putrec(buf,F_OPENCOUNT+3,2,crlf); - buf[F_MISC]=f->misc+' '; + buf[F_MISC]=(char)f->misc+' '; putrec(buf,F_ALTPATH,2,hexplus(f->altpath,tmp)); putrec(buf,F_ALTPATH+2,2,crlf); SAFEPRINTF2(str,"%s%s.dat",cfg->dir[f->dir]->data_dir,cfg->dir[f->dir]->code); @@ -201,7 +201,7 @@ BOOL DLLCALL addfiledat(scfg_t* cfg, file_t* f) putrec(fdat,F_TIMESDLED+5,2,crlf); putrec(fdat,F_OPENCOUNT,3,ultoa(f->opencount,tmp,10)); putrec(fdat,F_OPENCOUNT+3,2,crlf); - fdat[F_MISC]=f->misc+' '; + fdat[F_MISC]=(char)f->misc+' '; putrec(fdat,F_ALTPATH,2,hexplus(f->altpath,tmp)); putrec(fdat,F_ALTPATH+2,2,crlf); f->datoffset=l; diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c index 0467a9a6d651f3ae7faf8388ab53bab22eca41af..9d1c2a67bf65b54300bf77d0543334184ff4c3c0 100644 --- a/src/sbbs3/ftpsrvr.c +++ b/src/sbbs3/ftpsrvr.c @@ -586,11 +586,11 @@ BOOL js_add_file(JSContext* js_cx, JSObject* array, if(!JS_SetProperty(js_cx, file, "time", &val)) return(FALSE); - val=INT_TO_JSVAL(uploaded); + val=INT_TO_JSVAL((int32)uploaded); if(!JS_SetProperty(js_cx, file, "uploaded", &val)) return(FALSE); - val=INT_TO_JSVAL(last_downloaded); + val=INT_TO_JSVAL((int32)last_downloaded); if(!JS_SetProperty(js_cx, file, "last_downloaded", &val)) return(FALSE); @@ -1512,7 +1512,7 @@ static void send_thread(void* arg) if(getfileixb(&scfg,&f)==TRUE && getfiledat(&scfg,&f)==TRUE) { f.timesdled++; putfiledat(&scfg,&f); - f.datedled=time(NULL); + f.datedled=time32(NULL); putfileixb(&scfg,&f); lprintf(LOG_INFO,"%04d %s downloaded: %s (%lu times total)" @@ -1761,7 +1761,7 @@ static void receive_thread(void* arg) if(scfg.dir[f.dir]->misc&DIR_AONLY) /* Forced anonymous */ f.misc|=FM_ANON; f.cdt=flength(xfer.filename); - f.dateuled=time(NULL); + f.dateuled=time32(NULL); /* Desciption specified with DESC command? */ if(xfer.desc!=NULL && *xfer.desc!=0) @@ -2537,7 +2537,7 @@ static void ctrl_thread(void* arg) /* Initialize client display */ client.size=sizeof(client); - client.time=time(NULL); + client.time=time32(NULL); SAFECOPY(client.addr,host_ip); SAFECOPY(client.host,host_name); client.port=ntohs(ftp.client_addr.sin_port); @@ -2760,7 +2760,7 @@ static void ctrl_thread(void* arg) lprintf(LOG_INFO,"%04d %s logged in (%u today, %u total)" ,sock,user.alias,user.ltoday+1, user.logons+1); logintime=time(NULL); - timeleft=gettimeleft(&scfg,&user,logintime); + timeleft=(long)gettimeleft(&scfg,&user,logintime); ftp_printfile(sock,"hello",230); #ifdef JAVASCRIPT @@ -2800,7 +2800,7 @@ static void ctrl_thread(void* arg) putuserrec(&scfg,user.number,U_MODEM,LEN_MODEM,"FTP"); putuserrec(&scfg,user.number,U_COMP,LEN_COMP,host_name); putuserrec(&scfg,user.number,U_NOTE,LEN_NOTE,host_ip); - putuserrec(&scfg,user.number,U_LOGONTIME,0,ultoa(logintime,str,16)); + putuserrec(&scfg,user.number,U_LOGONTIME,0,ultoa((ulong)logintime,str,16)); getuserdat(&scfg, &user); /* make user current */ continue; @@ -2814,7 +2814,7 @@ static void ctrl_thread(void* arg) if(!(user.rest&FLAG('G'))) getuserdat(&scfg, &user); /* get current user data */ - if((timeleft=gettimeleft(&scfg,&user,logintime))<1L) { + if((timeleft=(long)gettimeleft(&scfg,&user,logintime))<1L) { sockprintf(sock,"421 Sorry, you've run out of time."); lprintf(LOG_WARNING,"%04d Out of time, disconnecting",sock); break; @@ -2851,7 +2851,7 @@ static void ctrl_thread(void* arg) continue; } if(!stricmp(cmd, "SITE UPTIME")) { - sockprintf(sock,"211 %s (%lu served)",sectostr(time(NULL)-uptime,str),served); + sockprintf(sock,"211 %s (%lu served)",sectostr((uint)(time(NULL)-uptime),str),served); continue; } if(!stricmp(cmd, "SITE RECYCLE") && user.level>=SYSOP_LEVEL) { diff --git a/src/sbbs3/getnode.cpp b/src/sbbs3/getnode.cpp index 262909432640e1d9b9f3dcaf5984f9e716fe37c9..815351a08d6f2e6cd40b75b4a5301fa583ce79b8 100644 --- a/src/sbbs3/getnode.cpp +++ b/src/sbbs3/getnode.cpp @@ -141,8 +141,8 @@ void sbbs_t::nodesync() if(!(sys_status&SS_NEWDAY)) { now=time(NULL); - unixtodstr(&cfg,logontime,str); - unixtodstr(&cfg,now,today); + unixtodstr(&cfg,(time32_t)logontime,str); + unixtodstr(&cfg,(time32_t)now,today); if(strcmp(str,today)) { /* New day, clear "today" user vars */ sys_status|=SS_NEWDAY; // So we don't keep doing this over&over resetdailyuserdat(&cfg, &useron,/* write: */true); diff --git a/src/sbbs3/inkey.cpp b/src/sbbs3/inkey.cpp index 4b0b827de396d7d0032c774b4cafcf8806915e2d..40cf948811c78f334b69688fa668473adf47884f 100644 --- a/src/sbbs3/inkey.cpp +++ b/src/sbbs3/inkey.cpp @@ -238,7 +238,7 @@ char sbbs_t::handle_ctrlkey(char ch, long mode) bprintf(text[TiLogon],timestr(logontime)); bprintf(text[TiNow],timestr(now)); bprintf(text[TiTimeon] - ,sectostr(now-logontime,tmp)); + ,sectostr((uint)(now-logontime),tmp)); bprintf(text[TiTimeLeft] ,sectostr(timeleft,tmp)); SYNC; diff --git a/src/sbbs3/js_bbs.cpp b/src/sbbs3/js_bbs.cpp index 0fa236176e188a23e551a81f4c07f2389c8ea2d1..6b6378b21d43ea27c62864c35a58e5a6bfe6be74 100644 --- a/src/sbbs3/js_bbs.cpp +++ b/src/sbbs3/js_bbs.cpp @@ -251,7 +251,7 @@ static JSBool js_bbs_get(JSContext *cx, JSObject *obj, jsid id, jsval *vp) char tmp[128]; const char* p=NULL; const char* nulstr=""; - ulong val=0; + uint32 val=0; jsint tiny; sbbs_t* sbbs; jsrefcount rc; @@ -270,19 +270,19 @@ static JSBool js_bbs_get(JSContext *cx, JSObject *obj, jsid id, jsval *vp) val=sbbs->startup->options; break; case BBS_PROP_ANSWER_TIME: - val=sbbs->answertime; + val=(uint32)sbbs->answertime; break; case BBS_PROP_LOGON_TIME: - val=sbbs->logontime; + val=(uint32)sbbs->logontime; break; case BBS_PROP_START_TIME: - val=sbbs->starttime; + val=(uint32)sbbs->starttime; break; case BBS_PROP_NS_TIME: - val=sbbs->ns_time; + val=(uint32)sbbs->ns_time; break; case BBS_PROP_LAST_NS_TIME: - val=sbbs->last_ns_time; + val=(uint32)sbbs->last_ns_time; break; case BBS_PROP_ONLINE: val=sbbs->online; @@ -293,7 +293,7 @@ static JSBool js_bbs_get(JSContext *cx, JSObject *obj, jsid id, jsval *vp) JS_RESUMEREQUEST(cx, rc); break; case BBS_PROP_EVENT_TIME: - val=sbbs->event_time; + val=(uint32)sbbs->event_time; break; case BBS_PROP_EVENT_CODE: p=sbbs->event_code; diff --git a/src/sbbs3/js_client.c b/src/sbbs3/js_client.c index b9d6b7f31c047e693630f894f9f69f3ceb0d4197..81c3761dc788e7e9e159da2513745c9a452894e0 100644 --- a/src/sbbs3/js_client.c +++ b/src/sbbs3/js_client.c @@ -72,7 +72,7 @@ static JSBool js_client_get(JSContext *cx, JSObject *obj, jsid id, jsval *vp) { jsval idval; const char* p=NULL; - ulong val=0; + int32 val=0; jsint tiny; JSString* js_str; client_t* client; @@ -94,7 +94,7 @@ static JSBool js_client_get(JSContext *cx, JSObject *obj, jsid id, jsval *vp) val=client->port; break; case CLIENT_PROP_TIME: - val=client->time; + val=(int32)client->time; break; case CLIENT_PROP_PROTOCOL: p=(char*)client->protocol; diff --git a/src/sbbs3/js_console.cpp b/src/sbbs3/js_console.cpp index b9a5faca377a9526e163ccf2e9c98012e92000f7..a093d24d019e61479b7fbfbadfc107af4107c314 100644 --- a/src/sbbs3/js_console.cpp +++ b/src/sbbs3/js_console.cpp @@ -73,8 +73,8 @@ enum { static JSBool js_console_get(JSContext *cx, JSObject *obj, jsid id, jsval *vp) { - jsval idval; - ulong val; + jsval idval; + int32 val; jsint tiny; JSString* js_str; sbbs_t* sbbs; @@ -123,7 +123,7 @@ static JSBool js_console_get(JSContext *cx, JSObject *obj, jsid id, jsval *vp) val=sbbs->cfg.sec_hangup; break; case CON_PROP_TIMEOUT: - val=sbbs->timeout; + val=(int32)sbbs->timeout; break; case CON_PROP_TIMELEFT_WARN: val=sbbs->timeleft_warn; diff --git a/src/sbbs3/js_file.c b/src/sbbs3/js_file.c index d7d5db9f904c0b2be3dd588cf972395f33950842..fe1e03d4e807354c747bb5d1199d8095b746bc43 100644 --- a/src/sbbs3/js_file.c +++ b/src/sbbs3/js_file.c @@ -661,7 +661,7 @@ js_iniGetValue(JSContext *cx, uintN argc, jsval *arglist) if((dflt_obj = JSVAL_TO_OBJECT(dflt))!=NULL && (strcmp("Date",JS_GetClass(cx, dflt_obj)->name)==0)) { tt=(time_t)(js_DateGetMsecSinceEpoch(cx,dflt_obj)/1000.0); rc=JS_SUSPENDREQUEST(cx); - dbl=iniReadDateTime(p->fp,section,key,tt); + dbl=(double)iniReadDateTime(p->fp,section,key,tt); dbl *= 1000; JS_RESUMEREQUEST(cx, rc); date_obj = JS_NewDateObjectMsec(cx, dbl); @@ -1161,6 +1161,17 @@ And July-22-2010: websrvr.dll!http_session_thread(void * arg) Line 5091 + 0xc bytes C +And Sept-17-2011: + +JS_SetElement(JSContext * 0x058b7138, JSObject * 0x0578cd78, long 2, long * 0x084cb338) line 3178 + 32 bytes +js_iniGetAllObjects(JSContext * 0x058b7138, JSObject * 0x0578cd60, unsigned int 0, long * 0x063adfbc, long * 0x084cb460) line 1115 + 24 bytes +js_Invoke(JSContext * 0x058b7138, unsigned int 0, unsigned int 0) line 1375 + 23 bytes +js_Interpret(JSContext * 0x058b7138, unsigned char * 0x04e9298b, long * 0x084cc678) line 3944 + 15 bytes +js_Execute(JSContext * 0x058b7138, JSObject * 0x057b4b48, JSScript * 0x04e92880, JSStackFrame * 0x00000000, unsigned int 0, long * 0x084cc860) line 1633 + 19 bytes +JS_ExecuteScript(JSContext * 0x058b7138, JSObject * 0x057b4b48, JSScript * 0x04e92880, long * 0x084cc860) line 4188 + 25 bytes +exec_ssjs(http_session_t * 0x084ce0f0, char * 0x084ce221) line 4644 + 36 bytes +respond(http_session_t * 0x084ce0f0) line 4690 + 18 bytes +http_session_thread(void * 0x00000000) line 5098 + 12 bytes */ if(!JS_SetElement(cx, array, i, &val)) break; diff --git a/src/sbbs3/js_global.c b/src/sbbs3/js_global.c index 1a7fbb7af915606d4c0def185e9573bdffa06c75..641f1036088e144f31eb2f88ea1f0c3d176ced87 100644 --- a/src/sbbs3/js_global.c +++ b/src/sbbs3/js_global.c @@ -572,7 +572,7 @@ js_time(JSContext *cx, uintN argc, jsval *arglist) { JSObject *obj=JS_THIS_OBJECT(cx, arglist); jsval *argv=JS_ARGV(cx, arglist); - JS_SET_RVAL(cx, arglist,UINT_TO_JSVAL(time(NULL))); + JS_SET_RVAL(cx, arglist,UINT_TO_JSVAL((uint32_t)time(NULL))); return(JS_TRUE); } @@ -1777,7 +1777,7 @@ js_html_encode(JSContext *cx, uintN argc, jsval *arglist) case 'D': now=time(NULL); - j+=sprintf(outbuf+j,"%s",unixtodstr(p->cfg,now,tmp1)); + j+=sprintf(outbuf+j,"%s",unixtodstr(p->cfg,(time32_t)now,tmp1)); break; case 'T': now=time(NULL); @@ -2782,7 +2782,7 @@ js_utime(JSContext *cx, uintN argc, jsval *arglist) ut.actime = ut.modtime = time(NULL); if(argc>1) { - actime=modtime=ut.actime; + actime=modtime=(int32_t)ut.actime; JS_ValueToInt32(cx,argv[1],&actime); JS_ValueToInt32(cx,argv[2],&modtime); ut.actime=actime; @@ -3224,7 +3224,7 @@ js_strftime(JSContext *cx, uintN argc, jsval *arglist) jsval *argv=JS_ARGV(cx, arglist); char str[128]; char* fmt; - int32 i=time(NULL); + int32 i=(int32_t)time(NULL); time_t t; struct tm tm; JSString* js_str;