Mercurial > noffle
view src/content.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 | 52f467c7213b |
children |
line wrap: on
line source
/* content.h Contents of a newsgroup - list of article overviews for selected group. The overviews of all articles of a group are stored in an overview file, filename SPOOLDIR/overview/GROUPNAME. One entire overview file is read and cached in memory, at a time. $Id: content.h 387 2002-06-26 13:15:44Z bears $ */ #ifndef CONT_H #define CONT_H #if HAVE_CONFIG_H #include <config.h> #endif #include "over.h" /* Try to read overviews from overview file for group <grp>. Ignore any badly-formatted lines and create a new empty overview file if no lines can be read. */ void Cont_read( const char *grp ); /* Append overview to current list and increment the current group's last article counter. Ownership of the ptr is transfered to content */ void Cont_app( Over *ov ); /* Write content. Return FALSE on error. */ Bool Cont_write( void ); Bool Cont_validNumb( int numb ); const Over * Cont_get( int numb ); void Cont_delete( int numb ); int Cont_first( void ); int Cont_last( void ); int Cont_find( const char *msgId ); const char * Cont_grp( void ); Bool Cont_nextGrp( Str result ); Bool Cont_firstGrp( Str result ); void Cont_expire( void ); Bool Cont_exists( const char *grp ); #endif