mirror of /home/gitosis/repositories/libowfat.git
Mirror of :pserver:cvs@cvs.fefe.de:/cvs libowfat
https://www.fefe.de/libowfat/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
973 B
35 lines
973 B
#include "fmt.h" |
|
#include "byte.h" |
|
#include <time.h> |
|
|
|
static unsigned int fmt_2digits(char* dest,int i) { |
|
dest[0]=(i/10)+'0'; |
|
dest[1]=(i%10)+'0'; |
|
return 2; |
|
} |
|
|
|
size_t fmt_httpdate(char* dest,time_t t) { |
|
static const char days[] = "SunMonTueWedThuFriSat"; |
|
static const char months[] = "JanFebMarAprMayJunJulAugSepOctNovDec"; |
|
struct tm* x=gmtime(&t); |
|
size_t i; |
|
|
|
if (dest==0) return 29; |
|
/* "Sun, 06 Nov 1994 08:49:37 GMT" */ |
|
byte_copy(dest,3,days+3*x->tm_wday); i=3; |
|
i+=fmt_str(dest+i,", "); |
|
i+=fmt_2digits(dest+i,x->tm_mday); |
|
i+=fmt_str(dest+i," "); |
|
byte_copy(dest+i,3,months+3*x->tm_mon); i+=3; |
|
i+=fmt_str(dest+i," "); |
|
i+=fmt_2digits(dest+i,(x->tm_year+1900)/100); |
|
i+=fmt_2digits(dest+i,(x->tm_year+1900)%100); |
|
i+=fmt_str(dest+i," "); |
|
i+=fmt_2digits(dest+i,x->tm_hour); |
|
i+=fmt_str(dest+i,":"); |
|
i+=fmt_2digits(dest+i,x->tm_min); |
|
i+=fmt_str(dest+i,":"); |
|
i+=fmt_2digits(dest+i,x->tm_sec); |
|
i+=fmt_str(dest+i," GMT"); |
|
return i; |
|
}
|
|
|