X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=zoom%2Fzoom-c.c;fp=zoom%2Fzoom-c.c;h=bb4e62ec03c03c4c13be1b50b9fd193878ee7400;hb=1449a89e77faaba24d3d35b4f08156452b8ec9b7;hp=2136dab6dc1bbf9d6fcff72bdf65ef06d7ef6f68;hpb=dccf2111a2f7bed8ac96b29565b691c6413941c9;p=yaz-moved-to-github.git diff --git a/zoom/zoom-c.c b/zoom/zoom-c.c index 2136dab..bb4e62e 100644 --- a/zoom/zoom-c.c +++ b/zoom/zoom-c.c @@ -1,5 +1,5 @@ /* - * $Id: zoom-c.c,v 1.26 2002-05-07 11:00:58 adam Exp $ + * $Id: zoom-c.c,v 1.27 2002-05-14 13:42:26 oleg Exp $ * * ZOOM layer for C, connections, result sets, queries. */ @@ -895,6 +895,9 @@ void ZOOM_record_destroy (ZOOM_record rec) const char *ZOOM_record_get (ZOOM_record rec, const char *type, int *len) { Z_NamePlusRecord *npr; + + *len = 0; /* if return 0 */ + if (!rec) return 0; npr = rec->npr; @@ -902,6 +905,7 @@ const char *ZOOM_record_get (ZOOM_record rec, const char *type, int *len) return 0; if (!strcmp (type, "database")) { + *len = strlen(npr->databaseName)+1; return npr->databaseName; } else if (!strcmp (type, "syntax")) @@ -911,7 +915,10 @@ const char *ZOOM_record_get (ZOOM_record rec, const char *type, int *len) Z_External *r = (Z_External *) npr->u.databaseRecord; oident *ent = oid_getentbyoid(r->direct_reference); if (ent) + { + *len = strlen(ent->desc)+1; return ent->desc; + } } return "none"; }