- if (days>0 || format==0) {
- sprintf(outstring,"%d day%s, %02d:%02d:%02d",
- days,(days==1)?"":"s",hours,minutes,seconds);
+ if(format<2) {
+ if (format==0 || (days>0 && (hours||minutes||seconds))) {
+ sprintf(outstring,"%d day%s, %02d:%02d:%02d",
+ days,(days==1)?"":"s",hours,minutes,seconds);
+ } else if (days>0) {
+ sprintf(outstring, "%d day%s",days,(days==1)?"":"s");
+ } else {
+ if (hours>0) {
+ pos += sprintf(outstring+pos,"%d hour%s ",hours,hours==1?"":"s");
+ }
+ if (minutes>0 || (hours>0 && seconds>0)) {
+ pos += sprintf(outstring+pos,"%d minute%s ",minutes,minutes==1?"":"s");
+ }
+ if (seconds>0 || !interval) {
+ sprintf(outstring+pos,"%d second%s ",seconds,seconds==1?"":"s");
+ }
+ }