X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=kernel%2Furp.c;h=914e279b3cc971c9e2162d771cb17a5213c7217f;hb=7f332a840baf336e34d612cdee0ef27901f0dd11;hp=d472c264c8a22d8eb05410b7b3f6131dddc25c9f;hpb=feddbf6f930fd71a3f299f1b4d7c3cd3af03e81d;p=egate.git diff --git a/kernel/urp.c b/kernel/urp.c index d472c26..914e279 100644 --- a/kernel/urp.c +++ b/kernel/urp.c @@ -45,6 +45,9 @@ * Europagate, 1995 * * $Log: urp.c,v $ + * Revision 1.51 2001/02/26 14:32:36 adam + * Updated for YAZ 1.7. HTML output tidy up. Added LOC target. + * * Revision 1.50 1996/03/01 16:09:30 adam * New setting: gw.msg.replyto that sets Reply-To in user response. * @@ -747,40 +750,45 @@ static void present (const char *set, int offset, int number, continue; } } - if (record_log_fd != -1) - write (record_log_fd, pp->record, strlen(pp->record)); - rec = iso2709_cvt (pp->record); - if (rec) - { + if (pp->record) + { + if (record_log_fd != -1) + write (record_log_fd, pp->record, strlen(pp->record)); + rec = iso2709_cvt (pp->record); + if (rec) + { #if USE_FML - strcpy (format_str, - gw_res_get (info.kernel_res, - "gw.display.format", "")); - if (format_token) - { - len = format_token->len; - if (len >= sizeof(format_str)) - len = sizeof(format_str)-1; - memcpy (format_str, format_token->name, len); - format_str[len] = '\0'; - } - if (info.fml && *format_str && - (!strcmp (format_str, "0") || !strcmp (format_str, "1") - || !strcmp(format_str, "2"))) - { - arg_ar[0] = "\\f"; - arg_ar[1] = format_str; - arg_ar[2] = " \\list"; - arg_ar[3] = marc_to_str (info.fml, rec); - arg_ar[4] = NULL; - fml_exec_call_argv (info.fml, arg_ar); - } - else - iso2709_display (rec, reply_fd); + strcpy (format_str, + gw_res_get (info.kernel_res, + "gw.display.format", "")); + if (format_token) + { + len = format_token->len; + if (len >= sizeof(format_str)) + len = sizeof(format_str)-1; + memcpy (format_str, format_token->name, len); + format_str[len] = '\0'; + } + if (info.fml && *format_str && + (!strcmp (format_str, "0") || !strcmp (format_str, "1") + || !strcmp(format_str, "2"))) + { + arg_ar[0] = "\\f"; + arg_ar[1] = format_str; + arg_ar[2] = " \\list"; + arg_ar[3] = marc_to_str (info.fml, rec); + arg_ar[4] = NULL; + fml_exec_call_argv (info.fml, arg_ar); + } + else + iso2709_display (rec, reply_fd); #else - iso2709_display (rec, reply_fd); + iso2709_display (rec, reply_fd); #endif - iso2709_rm (rec); + iso2709_rm (rec); + } + else + fprintf (reply_fd, "Record type not supported\n"); } else fprintf (reply_fd, "Not a MARC record\n");