Mercurial > noffle
view src/over.h @ 279:49b452b667a6 noffle
[svn] * src/util.c: localTimeDiff() cached its value and recalculated it every
hour of clock time, regardless of the time the calculated was based on.
This is potentially dangerous at daylight saving changes. So instead
use the cached last result only when the new request is to be based on
a time in the same hour as the cached result.
* src/util.c: Replace the alternate Utl_mktimeGMT() implementation used when
timegm() is not available. The previous version, as suggested by the
glibc timegm() man page, used setenv() and unsetenv() for changing the
environment. These aren't POSIX function, and the POSIX putenv()
(a) is tricky to manage if the same var is being constantly update and
memory isn't to leak, and (b) provides no way to remove an environment
entry. So change to an implementation Wget uses. This should compile on
not glibc systems - the previous version failed to build on Solaris.
author | bears |
---|---|
date | Sun, 17 Nov 2002 15:18:19 +0000 |
parents | 3477050e8d10 |
children |
line wrap: on
line source
/* over.h Processing of single article overviews. Handling of overview files is in content.c. An article overview contains important article properties, such as date, from, subject. $Id: over.h 403 2002-11-10 11:32:17Z bears $ */ #ifndef OVER_H #define OVER_H #if HAVE_CONFIG_H #include <config.h> #endif #if TIME_WITH_SYS_TIME #include <sys/time.h> #include <time.h> #else #if HAVE_SYS_TIME_H #include <sys/time.h> #else #include <time.h> #endif #endif #include "common.h" struct Over; typedef struct Over Over; /* Usual fields from overview databases. Xref without hostname. */ Over * new_Over( const char *subj, const char *from, const char *date, const char *msgId, const char *ref, unsigned long bytes, unsigned long lines ); /* free memory */ void del_Over( Over *self ); /* read Over-struct from line */ Over * Ov_read( char *line ); /* write struct Over to f as a line */ Bool Ov_write( const Over *self, FILE *f ); /* Access particular fields in struct over */ int Ov_numb( const Over *self ); const char * Ov_subj( const Over *self ); const char * Ov_from( const Over *self ); const char * Ov_date( const Over *self ); const char * Ov_msgId( const Over *self ); const char * Ov_ref( const Over *self ); unsigned long Ov_bytes( const Over *self ); unsigned long Ov_lines( const Over *self ); void Ov_setNumb( Over *self, int numb ); #endif