Blame src/util/uthash/tests/test11.c

Packit Service 9e77c8
#include "uthash.h"
Packit Service 9e77c8
#include <stdlib.h>   /* malloc */
Packit Service 9e77c8
#include <errno.h>    /* perror */
Packit Service 9e77c8
#include <stdio.h>    /* printf */
Packit Service 9e77c8
Packit Service 9e77c8
#define BUFLEN 20
Packit Service 9e77c8
Packit Service 9e77c8
#if 0
Packit Service 9e77c8
/* Print a message if the hash's no-expand flag is set. */
Packit Service 9e77c8
#undef uthash_noexpand_fyi 
Packit Service 9e77c8
#undef uthash_expand_fyi 
Packit Service 9e77c8
#define uthash_noexpand_fyi(tbl) printf("noexpand set\n");
Packit Service 9e77c8
#define uthash_expand_fyi(tbl) printf("hash expanded\n");
Packit Service 9e77c8
#endif
Packit Service 9e77c8
Packit Service 9e77c8
typedef struct name_rec {
Packit Service 9e77c8
    char boy_name[BUFLEN];
Packit Service 9e77c8
    UT_hash_handle hh;
Packit Service 9e77c8
} name_rec;
Packit Service 9e77c8
Packit Service 9e77c8
int namecmp(void *_a, void *_b) {
Packit Service 9e77c8
    name_rec *a = (name_rec*)_a;
Packit Service 9e77c8
    name_rec *b = (name_rec*)_b;
Packit Service 9e77c8
    return strcmp(a->boy_name,b->boy_name);
Packit Service 9e77c8
}
Packit Service 9e77c8
Packit Service 9e77c8
int main(int argc,char *argv[]) {
Packit Service 9e77c8
    name_rec *name, *names=NULL;
Packit Service 9e77c8
    char linebuf[BUFLEN];
Packit Service 9e77c8
    FILE *file;
Packit Service 9e77c8
Packit Service 9e77c8
    if ( (file = fopen( "test11.dat", "r" )) == NULL ) {
Packit Service 9e77c8
        perror("can't open: "); 
Packit Service 9e77c8
        exit(-1);
Packit Service 9e77c8
    }
Packit Service 9e77c8
Packit Service 9e77c8
    while (fgets(linebuf,BUFLEN,file) != NULL) {
Packit Service 9e77c8
        if ( (name = (name_rec*)malloc(sizeof(name_rec))) == NULL) exit(-1);
Packit Service 9e77c8
        strncpy(name->boy_name,linebuf,BUFLEN);
Packit Service 9e77c8
        HASH_ADD_STR(names,boy_name,name);
Packit Service 9e77c8
    }
Packit Service 9e77c8
Packit Service 9e77c8
    fclose(file);
Packit Service 9e77c8
    HASH_SORT(names,namecmp);
Packit Service 9e77c8
    for(name=names;name;name=(name_rec*)(name->hh.next)) 
Packit Service 9e77c8
      printf("%s",name->boy_name);
Packit Service 9e77c8
Packit Service 9e77c8
   return 0;
Packit Service 9e77c8
}
Packit Service 9e77c8