* FML interpreter. Europagate, 1995
*
* $Log: fmlmarc.c,v $
- * Revision 1.1 1995/02/10 15:50:56 adam
+ * Revision 1.2 1995/02/10 16:52:08 adam
+ * Indicator field moved in MARC structure. The FML list representation
+ * of a MARC record has changed.
+ *
+ * Revision 1.1 1995/02/10 15:50:56 adam
* MARC interface implemented. Minor bugs fixed. fmltest can
* be used to format single MARC records. New function '\list'
* implemented.
#include "fmlp.h"
+#if 0
struct fml_node *marc_to_fml (Fml fml, Iso2709Rec rec)
{
struct fml_node *ptr_0 = NULL, *ptr_1;
}
return ptr_0;
}
-
+#endif
static void add_string (const char *str, char **buf, int *max, int *size)
{
{
struct iso2709_field *fields;
- add_string ("{", &buf, &max, &size);
+ add_string ("{\'", &buf, &max, &size);
add_string (dir->tag, &buf, &max, &size);
+ add_string ("\'",&buf, &max, &size);
+ if (dir->indicator)
+ {
+ add_string ("\'", &buf, &max, &size);
+ add_string (dir->indicator, &buf, &max, &size);
+ add_string ("\'", &buf, &max, &size);
+ }
+ else
+ add_string ("{}", &buf, &max, &size);
add_string ("{", &buf, &max, &size);
-
for (fields = dir->fields; fields; fields=fields->next)
{
add_string ("{", &buf, &max, &size);
-
- if (fields->indicator)
- {
- add_string ("\'", &buf, &max, &size);
- add_string (fields->indicator, &buf, &max, &size);
- add_string ("\'", &buf, &max, &size);
- }
- else
- add_string ("{}", &buf, &max, &size);
- add_string (" ", &buf, &max, &size);
if (fields->identifier)
{
add_string ("\'", &buf, &max, &size);
}
else
add_string ("{}", &buf, &max, &size);
- add_string (" ", &buf, &max, &size);
- add_string ("\'", &buf, &max, &size);
+ add_string (" \'", &buf, &max, &size);
add_string (fields->data, &buf, &max, &size);
- add_string ("\'", &buf, &max, &size);
- add_string ("}", &buf, &max, &size);
+ add_string ("\'}", &buf, &max, &size);
}
add_string ("}}\n", &buf, &max, &size);
}