#include "tai.h" #include "caldate.h" unsigned int caldate_fmt(char *s, struct caldate *cd) { long x; int i = 0; x = cd->year; if (x < 0) x = -x; do { ++i; x /= 10; } while(x); if (s) { x = cd->year; if (x < 0) { x = -x; *s++ = '-'; } s += i; do { *--s = '0' + (char)(x % 10); x /= 10; } while(x); s += i; x = cd->month; s[0] = '-'; s[2] = '0' + (char)(x % 10); x /= 10; s[1] = '0' + (char)(x % 10); x = cd->day; s[3] = '-'; s[5] = '0' + (char)(x % 10); x /= 10; s[4] = '0' + (char)(x % 10); } return (cd->year < 0) + i + 6; }