X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;ds=sidebyside;f=retrieval%2Fd1_espec.c;h=83fe26fdf8801ac936e00213e2cff6a4c21c8d45;hb=88941d4a9e272daca9323cd19bf4829b6d32871b;hp=975807978beccd22b916395db81f5488f7bf81c7;hpb=4ae699c927bc26f3550d1a8ca911e8d1fe75dbfc;p=yaz-moved-to-github.git diff --git a/retrieval/d1_espec.c b/retrieval/d1_espec.c index 9758079..83fe26f 100644 --- a/retrieval/d1_espec.c +++ b/retrieval/d1_espec.c @@ -4,7 +4,13 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: d1_espec.c,v $ - * Revision 1.5 1996-01-02 08:57:44 quinn + * Revision 1.7 1997-05-14 06:54:02 adam + * C++ support. + * + * Revision 1.6 1996/07/06 19:58:34 quinn + * System headerfiles gathered in yconfig + * + * Revision 1.5 1996/01/02 08:57:44 quinn * Changed enums in the ASN.1 .h files to #defines. Changed oident.class to oclass * * Revision 1.4 1995/12/05 11:16:10 quinn @@ -53,11 +59,11 @@ static Z_Variant *read_variant(int argc, char **argv, ODR o) r->num_triples = argc; for (i = 0; i < argc; i++) { - int class, type; + int zclass, type; char value[512]; Z_Triple *t; - if (sscanf(argv[i], "(%d,%d,%[^)])", &class, &type, value) < 3) + if (sscanf(argv[i], "(%d,%d,%[^)])", &zclass, &type, value) < 3) { logf(LOG_WARN, "Syntax error in variant component '%s'", argv[i]); @@ -65,8 +71,8 @@ static Z_Variant *read_variant(int argc, char **argv, ODR o) } t = r->triples[i] = odr_malloc(o, sizeof(Z_Triple)); t->variantSetId = 0; - t->class = odr_malloc(o, sizeof(int)); - *t->class = class; + t->zclass = odr_malloc(o, sizeof(int)); + *t->zclass = zclass; t->type = odr_malloc(o, sizeof(int)); *t->type = type; /* @@ -78,6 +84,12 @@ static Z_Variant *read_variant(int argc, char **argv, ODR o) t->which = Z_Triple_null; t->value.null = ODR_NULLVAL; } + else if (isdigit(*value)) + { + t->which = Z_Triple_integer; + t->value.integer = odr_malloc(o, sizeof(*t->value.integer)); + *t->value.integer = atoi(value); + } else { t->which = Z_Triple_internationalString;