X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=odr%2Fodr.c;h=aaaec46904c56005d9ee20000f8b888fd84bd1ae;hb=29a22396d7d7b1219f5b83c35983c8fb1cd79e8f;hp=a29f720a2baf7d9a0efef81e35d14be7f2b8a627;hpb=ec1f815d5348cd21e393f76bc212c910c34bbc45;p=yaz-moved-to-github.git diff --git a/odr/odr.c b/odr/odr.c index a29f720..aaaec46 100644 --- a/odr/odr.c +++ b/odr/odr.c @@ -2,7 +2,7 @@ * Copyright (c) 1995-2003, Index Data * See the file LICENSE for details. * - * $Id: odr.c,v 1.43 2003-05-20 19:55:29 adam Exp $ + * $Id: odr.c,v 1.46 2003-10-16 10:37:06 adam Exp $ * */ #if HAVE_CONFIG_H @@ -44,10 +44,16 @@ char *odr_errmsg(int n) return odr_errlist[n]; } -void odr_perror(ODR o, char *message) +void odr_perror(ODR o, const char *message) { - fprintf(stderr, "%s: %s: %s\n", message, odr_errlist[o->error], - odr_getaddinfo(o)); + const char *e = odr_getelement(o); + int err, x; + + err = odr_geterrorx(o, &x); + fprintf(stderr, "%s: %s (code %d:%d)", message, odr_errlist[err], err, x); + if (e && *e) + fprintf (stderr, " element %s", e); + fprintf(stderr, "\n"); } int odr_geterror(ODR o) @@ -62,24 +68,24 @@ int odr_geterrorx(ODR o, int *x) return o->error; } -char *odr_getaddinfo(ODR o) +char *odr_getelement(ODR o) { - return o->op->addinfo; + return o->op->element; } void odr_seterror(ODR o, int error, int id) { o->error = error; o->op->error_id = id; - o->op->addinfo[0] = '\0'; + o->op->element[0] = '\0'; } -void odr_setaddinfo(ODR o, const char *addinfo) +void odr_setelement(ODR o, const char *element) { - if (addinfo) + if (element) { - strncpy(o->op->addinfo, addinfo, sizeof(o->op->addinfo)-1); - o->op->addinfo[sizeof(o->op->addinfo)-1] = '\0'; + strncpy(o->op->element, element, sizeof(o->op->element)-1); + o->op->element[sizeof(o->op->element)-1] = '\0'; } }