diff --git a/source/src/command.cpp b/source/src/command.cpp index ee318267..af8d7c42 100644 --- a/source/src/command.cpp +++ b/source/src/command.cpp @@ -998,9 +998,7 @@ COMMANDN(watchingdemo, _watchingdemo, ARG_NONE); void systime() { - systemtime(); - s_sprintfd(s)("%d", now_utc); - result(s); + result(numtime()); } void timestamp() diff --git a/source/src/main.cpp b/source/src/main.cpp index df63d14c..9cdee8f5 100644 --- a/source/src/main.cpp +++ b/source/src/main.cpp @@ -61,13 +61,6 @@ SDL_Surface *screen = NULL; static int initing = NOT_INITING; static bool restoredinits = false; -time_t now_utc; -struct tm *systemtime() -{ - time(&now_utc); - return localtime(&now_utc); -} - bool initwarning(const char *desc, int level, int type) { if(initing < level) diff --git a/source/src/packetqueue.cpp b/source/src/packetqueue.cpp index 6b21f350..88f5643c 100644 --- a/source/src/packetqueue.cpp +++ b/source/src/packetqueue.cpp @@ -29,7 +29,7 @@ bool packetqueue::flushtolog(const char *logfile) if(!f) return false; // header - fprintf(f, "AC PACKET LOG %11u\n\n", (uint)now_utc); + fprintf(f, "AC PACKET LOG %11s\n\n", numtime()); // serialize each packet loopv(packets) { diff --git a/source/src/protos.h b/source/src/protos.h index 021f3cab..d5496f3c 100644 --- a/source/src/protos.h +++ b/source/src/protos.h @@ -449,9 +449,6 @@ extern int isoccluded(float vx, float vy, float cx, float cy, float csize); extern SDL_Surface *screen; extern int colorbits, depthbits, stencilbits; -extern time_t now_utc; -extern struct tm *systemtime(); - extern void keyrepeat(bool on); extern bool firstrun, inmainloop; @@ -702,7 +699,6 @@ extern void extinfo_statsbuf(ucharbuf &p, int pid, int bpos, ENetSocket &pongsoc extern void extinfo_teamscorebuf(ucharbuf &p); extern char *votestring(int type, char *arg1, char *arg2); extern int wizardmain(int argc, char **argv); -extern const char *asctime(); // demo #define DHDR_DESCCHARS 80 diff --git a/source/src/server.cpp b/source/src/server.cpp index 04dc5002..f5a86563 100644 --- a/source/src/server.cpp +++ b/source/src/server.cpp @@ -34,7 +34,6 @@ enum { MAP_NOTFOUND = 0, MAP_TEMP, MAP_CUSTOM, MAP_LOCAL, MAP_OFFICIAL }; #define readonlymap(x) ((x) >= MAP_CUSTOM) // eval x only once! servercontroller *svcctrl = NULL; -struct log *logger = NULL; struct servercommandline scl; string copyname; diff --git a/source/src/tools.cpp b/source/src/tools.cpp index c004707a..1b318232 100644 --- a/source/src/tools.cpp +++ b/source/src/tools.cpp @@ -55,6 +55,13 @@ const char *asctime() return timestring(true, "%c"); } +const char *numtime() +{ + static string numt; + s_sprintf(numt)("%ld", (long long) time(NULL)); + return numt; +} + char *path(char *s) { for(char *t = s; (t = strpbrk(t, "/\\")); *t++ = PATHDIV); diff --git a/source/src/tools.h b/source/src/tools.h index 0126aaf3..a8525dae 100644 --- a/source/src/tools.h +++ b/source/src/tools.h @@ -579,6 +579,8 @@ inline char *newstringbuf() { return newstring(_MAXDEFSTR-1) inline char *newstringbuf(const char *s) { return newstring(s, _MAXDEFSTR-1); } extern const char *timestring(bool local = false, const char *fmt = NULL); +extern const char *asctime(); +extern const char *numtime(); extern char *path(char *s); extern char *path(const char *s, bool copy); extern const char *behindpath(const char *s); diff --git a/source/src/worldio.cpp b/source/src/worldio.cpp index c87d6236..eb05140a 100644 --- a/source/src/worldio.cpp +++ b/source/src/worldio.cpp @@ -27,10 +27,9 @@ const char *setnames(const char *name) s_strcpy(pakname, "maps"); s_strcpy(mapname, name); } - systemtime(); s_sprintf(cgzname)("packages/%s/%s.cgz", pakname, mapname); s_sprintf(ocgzname)("packages/maps/official/%s.cgz", mapname); - s_sprintf(bakname)("packages/%s/%s_%d.BAK", pakname, mapname, now_utc); //totalmillis); + s_sprintf(bakname)("packages/%s/%s_%s.BAK", pakname, mapname, numtime()); s_sprintf(pcfname)("packages/%s/package.cfg", pakname); s_sprintf(mcfname)("packages/%s/%s.cfg", pakname, mapname); s_sprintf(omcfname)("packages/maps/official/%s.cfg", mapname);