pazpar2
1.14.1
|
MARC MAP utilities (hash lookup etc) More...
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <libxml/tree.h>
#include <libxml/parser.h>
#include <yaz/nmem.h>
#include "jenkins_hash.h"
#include "marchash.h"
Go to the source code of this file.
Macros | |
#define | inline |
Functions | |
static void | strtrimcat (char *dest, const char *src) |
static void | strtrimcpy (char *dest, const char *src) |
struct marchash * | marchash_create (NMEM nmem) |
void | marchash_ingest_marcxml (struct marchash *marchash, xmlNodePtr rec_node) |
struct marcfield * | marchash_add_field (struct marchash *marchash, const char *key, const char *val) |
struct marcsubfield * | marchash_add_subfield (struct marchash *marchash, struct marcfield *field, const char key, const char *val) |
struct marcfield * | marchash_get_field (struct marchash *marchash, const char *key, struct marcfield *last) |
struct marcsubfield * | marchash_get_subfield (char key, struct marcfield *field, struct marcsubfield *last) |
char * | marchash_catenate_subfields (struct marcfield *field, const char *delim, NMEM nmem) |
MARC MAP utilities (hash lookup etc)
Definition in file marchash.c.
#define inline |
Definition at line 28 of file marchash.c.
struct marcfield* marchash_add_field | ( | struct marchash * | marchash, |
const char * | key, | ||
const char * | val | ||
) |
Definition at line 141 of file marchash.c.
References jenkins_hash(), marcfield::key, MARCHASH_MASK, marcfield::next, marchash::nmem, strtrimcpy(), marcfield::subfields, marchash::table, and marcfield::val.
Referenced by marchash_ingest_marcxml().
struct marcsubfield* marchash_add_subfield | ( | struct marchash * | marchash, |
struct marcfield * | field, | ||
const char | key, | ||
const char * | val | ||
) |
Definition at line 179 of file marchash.c.
References marcsubfield::key, marcsubfield::next, marchash::nmem, marcfield::subfields, and marcsubfield::val.
Referenced by marchash_ingest_marcxml().
char* marchash_catenate_subfields | ( | struct marcfield * | field, |
const char * | delim, | ||
NMEM | nmem | ||
) |
Definition at line 243 of file marchash.c.
References marcsubfield::next, strtrimcat(), and marcsubfield::val.
Referenced by marcmap_apply().
struct marchash* marchash_create | ( | NMEM | nmem | ) |
struct marcfield* marchash_get_field | ( | struct marchash * | marchash, |
const char * | key, | ||
struct marcfield * | last | ||
) |
Definition at line 208 of file marchash.c.
References jenkins_hash(), marcfield::key, MARCHASH_MASK, marcfield::next, and marchash::table.
Referenced by marcmap_apply().
struct marcsubfield* marchash_get_subfield | ( | char | key, |
struct marcfield * | field, | ||
struct marcsubfield * | last | ||
) |
Definition at line 225 of file marchash.c.
References marcsubfield::key, marcsubfield::next, and marcfield::subfields.
Referenced by marcmap_apply().
void marchash_ingest_marcxml | ( | struct marchash * | marchash, |
xmlNodePtr | rec_node | ||
) |
Definition at line 84 of file marchash.c.
References marchash_add_field(), and marchash_add_subfield().
Referenced by marcmap_apply().
|
inlinestatic |
Definition at line 43 of file marchash.c.
Referenced by marchash_catenate_subfields(), and strtrimcpy().
|
inlinestatic |
Definition at line 69 of file marchash.c.
References strtrimcat().
Referenced by marchash_add_field().