aboutsummaryrefslogtreecommitdiffstats
path: root/src/note.c
diff options
context:
space:
mode:
authorLukas Fleischer <calcurse@cryptocrack.de>2012-02-19 03:04:39 +0100
committerLukas Fleischer <calcurse@cryptocrack.de>2012-02-19 03:08:16 +0100
commit2702a61b0e22ddcbd0b23c1765fac90fe766802a (patch)
treecb10887ccd29796673fc08bf8066c803add195a8 /src/note.c
parent136e5bc4f7095aef80e55c5e329de5e04bd85886 (diff)
downloadcalcurse-2702a61b0e22ddcbd0b23c1765fac90fe766802a.tar.gz
calcurse-2702a61b0e22ddcbd0b23c1765fac90fe766802a.zip
Fix hash table issues with ISO C99
ISO C99 forbids unnamed structs/unions and nested functions. Move the "HTABLE_HEAD" and "HTABLE_GENERATE" parts out of the function body and place them at the very top of the file (where function definitions are allowed). Also, remove the unnamed struct from "htable.h" (which was useless anyway). Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
Diffstat (limited to 'src/note.c')
-rw-r--r--src/note.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/note.c b/src/note.c
index 1891a5f..4ea8996 100644
--- a/src/note.c
+++ b/src/note.c
@@ -46,6 +46,12 @@ struct note_gc_hash {
HTABLE_ENTRY (note_gc_hash);
};
+static void note_gc_extract_key (struct note_gc_hash *, char **, int *);
+static int note_gc_cmp (struct note_gc_hash *, struct note_gc_hash *);
+
+HTABLE_HEAD (htp, NOTE_GC_HSIZE, note_gc_hash);
+HTABLE_GENERATE (htp, note_gc_hash, note_gc_extract_key, note_gc_cmp)
+
/* Create note file from a string and return a newly allocated string that
* contains its name. */
char *
@@ -164,8 +170,7 @@ note_gc_cmp (struct note_gc_hash *a, struct note_gc_hash *b)
void
note_gc (void)
{
- HTABLE_HEAD (htp, NOTE_GC_HSIZE, note_gc_hash) gc_htable =
- HTABLE_INITIALIZER (&gc_htable);
+ struct htp gc_htable = HTABLE_INITIALIZER (&gc_htable);
struct note_gc_hash *hp;
DIR *dirp;
struct dirent *dp;
@@ -177,7 +182,6 @@ note_gc (void)
return;
/* Insert all note file names into a hash table. */
- HTABLE_GENERATE (htp, note_gc_hash, note_gc_extract_key, note_gc_cmp);
do
{
if ((dp = readdir (dirp)) && *(dp->d_name) != '.')