From fabbc7ccb5588936f0f18bdd8a5a3cb62a216d53 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fr=C3=A9d=C3=A9ric=20Marchal?= Date: Mon, 21 Dec 2009 19:05:27 +0000 Subject: [PATCH] Fix uninitialized variables. Report the correct day of week in index.html --- download.c | 4 +++- util.c | 46 ++++++++++++++++++++++++++-------------------- 2 files changed, 29 insertions(+), 21 deletions(-) diff --git a/download.c b/download.c index 92afee2..d0a47a9 100644 --- a/download.c +++ b/download.c @@ -222,6 +222,7 @@ void set_download_suffix(const char *list) if (DownloadSuffix[i] == ',') { DownloadSuffix[i] = '\0'; if (*str) { + cmp = -1; for (j=0 ; j0 ; j++); if (cmp != 0) { for (k=NDownloadSuffix ; k>j ; k--) @@ -235,6 +236,7 @@ void set_download_suffix(const char *list) } if (*str) { + cmp = -1; for (j=0 ; j0 ; j++); if (cmp != 0) { for (k=NDownloadSuffix ; k>j ; k--) @@ -254,7 +256,7 @@ int is_download_suffix(const char *url) int cmp; const int max_suffix=10; - if(DownloadSuffix == NULL || NDownloadSuffix == 0) return(0); + if (DownloadSuffix == NULL || NDownloadSuffix == 0) return(0); urllen=strlen(url)-1; if (urllen<=0) return(0); diff --git a/util.c b/util.c index f48754c..aa728d7 100644 --- a/util.c +++ b/util.c @@ -421,59 +421,61 @@ void fixip(char *ip) char *fixnum(long long int value, int n) { #define MAXLEN_FIXNUM 1024 - char num[MAXLEN_FIXNUM]; + char num[MAXLEN_FIXNUM]=""; char buf[MAXLEN_FIXNUM * 2]; char *pbuf; static char ret[MAXLEN_FIXNUM * 2]; char *pret; register int i, j, k; + int numlen; static char abbrev[30]; my_lltoa(value, num, 0); if(strcmp(DisplayedValues,"abbreviation") == 0) { - if(strlen(num) <= 3) + numlen = strlen(num); + if(numlen <= 3) sprintf(abbrev,"%s",num); - if(strlen(num) == 4 || strlen(num) == 7 || strlen(num) == 10 || strlen(num) == 13) { + if(numlen == 4 || numlen == 7 || numlen == 10 || numlen == 13) { snprintf(abbrev,2,"%s",num); strncat(abbrev,".",1); strncat(abbrev,num+1,2); if(!n) return(abbrev); - if(strlen(num) == 4) + if(numlen == 4) strncat(abbrev,"K",1); - else if(strlen(num) == 7) + else if(numlen == 7) strncat(abbrev,"M",1); - else if(strlen(num) == 10) + else if(numlen == 10) strncat(abbrev,"G",1); - else if(strlen(num) == 13) + else if(numlen == 13) strncat(abbrev,"T",1); } - if(strlen(num) == 5 || strlen(num) == 8 || strlen(num) == 11 || strlen(num) == 14) { + if(numlen == 5 || numlen == 8 || numlen == 11 || numlen == 14) { snprintf(abbrev,3,"%s",num); strncat(abbrev,".",1); strncat(abbrev,num+2,2); if(!n) return(abbrev); - if(strlen(num) == 5) + if(numlen == 5) strncat(abbrev,"K",1); - else if(strlen(num) == 8) + else if(numlen == 8) strncat(abbrev,"M",1); - else if(strlen(num) == 11) + else if(numlen == 11) strncat(abbrev,"G",1); - else if(strlen(num) == 14) + else if(numlen == 14) strncat(abbrev,"T",1); } - if(strlen(num) == 6 || strlen(num) == 9 || strlen(num) == 12 || strlen(num) == 15) { + if(numlen == 6 || numlen == 9 || numlen == 12 || numlen == 15) { snprintf(abbrev,4,"%s",num); strncat(abbrev,".",1); strncat(abbrev,num+3,2); if(!n) return(abbrev); - if(strlen(num) == 6) + if(numlen == 6) strncat(abbrev,"K",1); - else if(strlen(num) == 9) + else if(numlen == 9) strncat(abbrev,"M",1); - else if(strlen(num) == 12) + else if(numlen == 12) strncat(abbrev,"G",1); - else if(strlen(num) == 15) + else if(numlen == 15) strncat(abbrev,"T",1); } @@ -627,6 +629,8 @@ void obtdate(const char *dirname, const char *name, char *data) void formatdate(char *date,int date_size,int year,int month,int day,int hour,int minute,int second,int dst) { struct tm ltm; + time_t unixtime; + struct tm *fulltm; memset(<m,0,sizeof(ltm)); if (year>=1900) ltm.tm_year=year-1900; @@ -636,8 +640,10 @@ void formatdate(char *date,int date_size,int year,int month,int day,int hour,int if (minute>=0 && minute<60) ltm.tm_min=minute; if (second>=0 && second<60) ltm.tm_sec=second; ltm.tm_isdst=dst; - //strftime(date,date_size,"%a %b %d %H:%M:%S %Z %Y",<m); - strftime(date,date_size,"%c",<m); + unixtime=mktime(<m); //fill the missing entries + fulltm=localtime(&unixtime); + //strftime(date,date_size,"%a %b %d %H:%M:%S %Z %Y",fulltm); + strftime(date,date_size,"%c",fulltm); } @@ -676,7 +682,7 @@ void obttotal(const char *dirname, const char *name, char *tbytes, const char *t char warea[MAXLEN]; long long int med=0; long long int wtuser=0; - long long int twork; + long long int twork=0; struct getwordstruct gwarea; sprintf(wdir,"%s%s/sarg-general",dirname,name); -- 2.47.2