comparison src/database.c @ 271:3477050e8d10 noffle

[svn] * src/client.c,src/fetch.c,src/lock.c.src/protocol.c,src/util.h,src/util.c: Define our own SignalHandler type rather than use the rather Linux-specific (and potentially glibc version specific) sig_t. * src/client.c,src/database.h,src/database.c,src/over.h,src/over.c, src/pseudo.c,src/server.c: Ensure format string specifiers and passed data types match. As part of this, change some uses of size_t as a general data type to an appropriate base C type. Database status changes from int to unsigned.
author bears
date Sun, 10 Nov 2002 11:32:17 +0000
parents 087e7039b569
children 0880d6edaaa5
comparison
equal deleted inserted replaced
270:d6fedc09b052 271:3477050e8d10
1 /* 1 /*
2 database.c 2 database.c
3 3
4 $Id: database.c 389 2002-06-26 13:28:35Z bears $ 4 $Id: database.c 403 2002-11-10 11:32:17Z bears $
5 5
6 Uses GNU gdbm library. Using Berkeley db (included in libc6) was 6 Uses GNU gdbm library. Using Berkeley db (included in libc6) was
7 cumbersome. It is based on Berkeley db 1.85, which has severe bugs 7 cumbersome. It is based on Berkeley db 1.85, which has severe bugs
8 (e.g. it is not recommended to delete or overwrite entries with 8 (e.g. it is not recommended to delete or overwrite entries with
9 overflow pages). 9 overflow pages).
42 42
43 /* Msg Id of presently loaded article, empty if none loaded */ 43 /* Msg Id of presently loaded article, empty if none loaded */
44 Str msgId; 44 Str msgId;
45 45
46 /* Status of loaded article */ 46 /* Status of loaded article */
47 int status; /* Flags */ 47 unsigned status; /* Flags */
48 time_t lastAccess; 48 time_t lastAccess;
49 49
50 /* Overview of loaded article */ 50 /* Overview of loaded article */
51 Str subj; 51 Str subj;
52 Str from; 52 Str from;
315 315
316 return saveArt(); 316 return saveArt();
317 } 317 }
318 318
319 void 319 void
320 Db_setStatus( const char *msgId, int status ) 320 Db_setStatus( const char *msgId, unsigned status )
321 { 321 {
322 if ( loadArt( msgId ) ) 322 if ( loadArt( msgId ) )
323 { 323 {
324 db.status = status; 324 db.status = status;
325 saveArt(); 325 saveArt();
416 Db_header( const char *msgId ) 416 Db_header( const char *msgId )
417 { 417 {
418 static DynStr *s = NULL; 418 static DynStr *s = NULL;
419 419
420 Str date, t; 420 Str date, t;
421 int status; 421 unsigned status;
422 const char *p; 422 const char *p;
423 423
424 if ( s == NULL ) 424 if ( s == NULL )
425 s = new_DynStr( 5000 ); 425 s = new_DynStr( 5000 );
426 else 426 else
471 if ( ! p ) 471 if ( ! p )
472 return ""; 472 return "";
473 return ( p + 2 ); 473 return ( p + 2 );
474 } 474 }
475 475
476 int 476 unsigned
477 Db_status( const char *msgId ) 477 Db_status( const char *msgId )
478 { 478 {
479 if ( ! loadArt( msgId ) ) 479 if ( ! loadArt( msgId ) )
480 return 0; 480 return 0;
481 return db.status; 481 return db.status;