X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=zoom%2Fzoom-c.c;h=e0811993c5213fa9e0916723d700ec858b421985;hb=94fce64abe00f0334941ca270c8898bdabb0ca7c;hp=8364312c6ac10a5e6b1fbd9ca397606b939ec8e8;hpb=00a3858993442806aca78f82e28f88c5942dc135;p=yaz-moved-to-github.git diff --git a/zoom/zoom-c.c b/zoom/zoom-c.c index 8364312..e081199 100644 --- a/zoom/zoom-c.c +++ b/zoom/zoom-c.c @@ -1,5 +1,5 @@ /* - * $Id: zoom-c.c,v 1.40 2002-08-20 08:19:40 adam Exp $ + * $Id: zoom-c.c,v 1.44 2002-09-13 08:57:03 adam Exp $ * * ZOOM layer for C, connections, result sets, queries. */ @@ -639,7 +639,7 @@ static void otherInfo_attach (ZOOM_connection c, Z_APDU *a, ODR out) { size_t len; Z_OtherInformation **oi; - char buf[20]; + char buf[80]; const char *val; const char *cp; int oidval; @@ -1036,7 +1036,7 @@ ZOOM_record_get (ZOOM_record rec, const char *type, int *len) if (!strcmp (type, "database")) { if (len) - *len = strlen(npr->databaseName); + *len = (npr->databaseName ? strlen(npr->databaseName) : 0); return npr->databaseName; } else if (!strcmp (type, "syntax")) @@ -1407,8 +1407,8 @@ static int send_sort (ZOOM_connection c) static int send_present (ZOOM_connection c) { - Z_APDU *apdu = zget_APDU(c->odr_out, Z_APDU_presentRequest); - Z_PresentRequest *req = apdu->u.presentRequest; + Z_APDU *apdu = 0; + Z_PresentRequest *req = 0; int i = 0; const char *syntax = 0; const char *elementSetName = 0; @@ -1455,6 +1455,9 @@ static int send_present (ZOOM_connection c) if (i == resultset->count) return 0; + apdu = zget_APDU(c->odr_out, Z_APDU_presentRequest); + req = apdu->u.presentRequest; + resultset->start += i; resultset->count -= i; *req->resultSetStartPoint = resultset->start + 1;