| 1 | /*$Id: dateline.c,v 1.2 1999/10/09 17:44:37 lindberg Exp $*/ |
| 2 | /*$Name: ezmlm-idx-040 $*/ |
| 3 | |
| 4 | #include "fmt.h" |
| 5 | #include "yyyymm.h" |
| 6 | #include "stralloc.h" |
| 7 | |
| 8 | static char strnum[FMT_ULONG]; |
| 9 | |
| 10 | int dateline(dt,d) |
| 11 | stralloc *dt; unsigned long d; |
| 12 | /* converts yyyymm from unsigned long d to text dt */ |
| 13 | { |
| 14 | char *mo; |
| 15 | switch (d % 100) { |
| 16 | case 1: mo = "January"; break; |
| 17 | case 2: mo = "February"; break; |
| 18 | case 3: mo = "March"; break; |
| 19 | case 4: mo = "April"; break; |
| 20 | case 5: mo = "May"; break; |
| 21 | case 6: mo = "June"; break; |
| 22 | case 7: mo = "July"; break; |
| 23 | case 8: mo = "August"; break; |
| 24 | case 9: mo = "September"; break; |
| 25 | case 10: mo = "October"; break; |
| 26 | case 11: mo = "November"; break; |
| 27 | case 12: mo = "December"; break; |
| 28 | case 0: mo = "????"; break; |
| 29 | default: cgierr("I don't know any month > 12", |
| 30 | "",""); |
| 31 | } |
| 32 | if (!stralloc_copys(dt,mo)) return -1; |
| 33 | if (!stralloc_cats(dt," ")) return -1; |
| 34 | if ((d/100)) { |
| 35 | if (!stralloc_catb(dt,strnum,fmt_ulong(strnum,d/100))) return -1; |
| 36 | } else |
| 37 | if (!stralloc_cats(dt,"????")) return 0; |
| 38 | return 1; |
| 39 | } |
| 40 | |
| 41 | |