X-Git-Url: https://git.jankratochvil.net/?p=timeplan.git;a=blobdiff_plain;f=timeplan.c;h=5021932a4c3dca22a196b6a62bb453854fbd682f;hp=f710be7fd0ac2d431f3409499bafdb2f722634a6;hb=HEAD;hpb=c90b076aabd8ecba76428d8da124185a75814533 diff --git a/timeplan.c b/timeplan.c index f710be7..5021932 100644 --- a/timeplan.c +++ b/timeplan.c @@ -25,7 +25,7 @@ #define ERRNO2 strerror(errno) #define FAKEUSE =0 -static const char version[]="This is TimePlan, version 1.0\n"; +static const char version[]="This is TimePlan, version 1.0.1\n"; static const char *pname; static char *finame; static FILE *fi; @@ -39,9 +39,9 @@ static unsigned long lifetime_seq=1; static void usage(void) { - fprintf(stderr,"\ -%s\ -This command summarizes the timelog information:\n\ + fprintf(stderr,"%s%s%s", +version, +"This command summarizes the timelog information:\n\ \n\ Usage: timeplan [-u|--unsort] [-s|--stores] [-T|--timetot] [-t|--tree]\n\ [-c|--condition ] [-f|--formtotal ]\n\ @@ -51,6 +51,7 @@ Usage: timeplan [-u|--unsort] [-s|--stores] [-T|--timetot] [-t|--tree]\n\ -u, --unsort\t\tDon't sort the result in any way\n\ -s, --stores\t\tSort the result by stores count\n\ -T, --timetot\t\tSort the result by total time (default)\n\ +","\ -t, --tree\t\tOrganize data as hierarchy tree\n\ -a, --average\t\tDisplay all times as average-per-day value\n\ -c, --condition\tDefine condition variable\n\ @@ -59,7 +60,7 @@ Usage: timeplan [-u|--unsort] [-s|--stores] [-T|--timetot] [-t|--tree]\n\ -v, --verbose\t\tInform about phases of transfer\n\ -h, --help\t\tPrint a summary of the options\n\ -V, --version\t\tPrint the version number\n\ -",version); +"); exit(EXIT_FAILURE); } @@ -114,7 +115,7 @@ char *end,*s2; for (s2=s+1;isdigit(*s2);s2++); l=strtol(s+1,&end,10); if (end!=s2) { - fprintf(ERRH1"Number parse error at column %d of formtotal string!\n",ERRH2,s-formtotal); + fprintf(ERRH1"Number parse error at column %ld of formtotal string!\n",ERRH2,(long)(s-formtotal)); exit(EXIT_FAILURE); } if (*s=='*') tot*=l; @@ -232,7 +233,7 @@ struct textlist { int line; char text[1]; }; -struct textlist *conditions,**conditionstail=&conditions; +static struct textlist *conditions,**conditionstail=&conditions; static int iscondition(const char *text) { @@ -309,12 +310,12 @@ int isplus; while (isspace(*s)) s++; if (*s==':') break; if (!isalpha(*s)) { - fprintf(ERRH1"Invalid character at offset %d"WHERE1,ERRH2,s-buf+1,WHERE2); + fprintf(ERRH1"Invalid character at offset %ld"WHERE1,ERRH2,(long)(s-buf+1),WHERE2); exit(EXIT_FAILURE); } for (s2=s+1;isalpha(*s2);s2++); if (*s2!='+' && *s2!='-') { - fprintf(ERRH1"Only plus ('+') or minus ('-'), not '%c' expected at offset %d"WHERE1,ERRH2,*s2,s2-buf+1,WHERE2); + fprintf(ERRH1"Only plus ('+') or minus ('-'), not '%c' expected at offset %ld"WHERE1,ERRH2,*s2,(long)(s2-buf+1),WHERE2); exit(EXIT_FAILURE); } isplus=(*s2=='+'); *s2++='\0'; @@ -693,7 +694,7 @@ const char *days[]={"Ne","Po","Ut","St","Ct","Pa","So"}; t=mktime(&tm); if (t==-1 || tm.tm_wday<0 || tm.tm_wday>6 || tm.tm_mday<1 || tm.tm_mday>31 - || tm.tm_mon <1 || tm.tm_mon >12 + || tm.tm_mon <0 || tm.tm_mon >11 || tm.tm_year<80 || tm.tm_year>150 ) { fprintf(ERRH1"Incorrect timestamp \"%s\""WHERE1,ERRH2,buf,WHERE2);