test -d $(distdir)/win || mkdir $(distdir)/win
-cp $(srcdir)/win/* $(distdir)/win
+.PHONY:debian
+debian:
+ dpkg-buildpackage -rfakeroot
+
+
yaz-client emits a better message when receiving an unrecognised
userInformationField.
+--- 3.0.48 2009/08/28
+
+The show command offered by the zoomsh command now takes a 3d optional
+parameter type which is what is passed to ZOOM_record. If the type
+argument is omitted, "render" is used.
+
+RPN to CQL conv may use USE string attributes (bug #2978).
+
+MarcXchange NS is now info:lc/xmlns/marcxchange-v1 .
+
--- 3.0.47 2009/07/08
Function yaz_xml2query allows a diagnostic element in the PQF XML
dnl This file is part of the YAZ toolkit.
dnl Copyright (C) 1995-2009 Index Data
AC_PREREQ([2.60])
-AC_INIT([yaz],[3.0.47],[yaz-help@indexdata.dk])
+AC_INIT([yaz],[3.0.48],[yaz-help@indexdata.dk])
AC_CONFIG_SRCDIR([configure.ac])
AC_CONFIG_AUX_DIR([config])
AM_INIT_AUTOMAKE([1.9])
+yaz (3.0.48-1indexdata) unstable; urgency=low
+
+ * Upstream.
+
+ -- Adam Dickmeiss <adam@indexdata.dk> Fri, 28 Aug 2009 10:53:59 +0200
+
yaz (3.0.47-1indexdata) unstable; urgency=low
* Upstream.
rm -f *.html
$(HTML_COMPILE) $(srcdir)/yaz.xml
-index.tkl: $(XMLFILES)
- rm -f *.tkl
- $(TKL_COMPILE) $(srcdir)/yaz.xml
-
yaz.pdf: $(XMLFILES)
$(PDF_COMPILE) $(srcdir)/yaz.xml
done
doc-clean:
- rm -f *.html *.[0-9] *.pdf *.tkl
+ rm -f *.html *.[0-9] *.pdf
install-data-hook:
if test -f index.html; then d=.; else d="$(srcdir)"; fi; \
for p in $$d/*.html; do \
- $(docDATA_INSTALL) $$p $(DESTDIR)$(docdir); \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(docdir); \
done
uninstall-hook:
-Subproject commit cc80f24dcf550d033c2fdf29ea35b4e0961f357d
+Subproject commit 95d92dd6e49fe3807fd1d6c664b3883580290103
-Subproject commit f5601296c571639de99e08ad41493c6d5be06a9a
+Subproject commit 2ceb2c3a4b580e09aadcbd1cbbb12e10b60f1337
buf[i] != ISO2709_RS && buf[i] != ISO2709_IDFS &&
buf[i] != ISO2709_FS)
i++;
- yaz_marc_add_subfield(mt, buf+code_offset, i - code_offset);
+ if (i > code_offset)
+ yaz_marc_add_subfield(mt, buf+code_offset, i - code_offset);
}
}
else
case YAZ_MARC_COMMENT:
wrbuf_iconv_write(wr, mt->iconv_cd,
n->u.comment, strlen(n->u.comment));
- wrbuf_puts(wr, ")\n");
+ wrbuf_puts(wr, "\n");
break;
default:
break;
{
if (assoc->state != ASSOC_UP)
{
- yaz_log(YLOG_DEBUG, "Final timeout - closing connection.");
+ yaz_log(log_session, "Timeout. Closing connection");
/* do we need to lod this at all */
cs_close(conn);
destroy_association(assoc);
}
else
{
- yaz_log(log_sessiondetail,
- "Session idle too long. Sending close.");
+ yaz_log(log_sessiondetail, "Timeout. Sending Z39.50 Close");
do_close(assoc, Z_Close_lackOfActivity, 0);
}
return;
int num_diagnostic = 0;
const char *host = z_HTTP_header_lookup(hreq->headers, "Host");
+ yaz_log(log_request, "%s %s HTTP/%s", hreq->method, hreq->path, hreq->version);
if (!control_association(assoc, host, 0))
{
p = z_get_HTTP_Response(o, 404);
binitres->errstring);
*resp->result = 0;
}
+ else
+ assoc->state = ASSOC_UP;
+
if (log_request)
{
if (!req->idAuthentication)
*/
typedef enum
{
- ASSOC_NEW, /* not initialized yet */
- ASSOC_UP, /* normal operation */
+ ASSOC_NEW, /* not initialized yet or HTTP session */
+ ASSOC_UP, /* Z39.50 session is UP */
ASSOC_DEAD /* dead. Close if input arrives */
} association_state;
--- /dev/null
+#!/bin/sh
+P=yaz
+set -x
+doxygen >out 2>stderr
+if test -s stderr; then
+ echo "doxygen warnings.. Fix your Doxygen comments!"
+ cat stderr
+ exit 1
+fi
+(cd doc && make ${P}.pdf index.html)
+cp NEWS doc/
+tar cz --exclude=.git -f - dox doc|ssh us2 "cd software/${P}; tar xzf -"
+exit 0
}
len_result = rlen;
r = yaz_marc_decode_buf(mt, buf, -1, &result, &len_result);
- if (r > 0 && result)
+ if (r > 0 && result && len_result)
{
if (fwrite(result, len_result, 1, stdout) != 1)
{
static void display_records(ZOOM_connection c,
ZOOM_resultset r,
- int start, int count)
+ int start, int count, const char *type)
{
int i;
for (i = 0; i<count; i++)
else
{
int len, opac_len;
- const char *render = ZOOM_record_get(rec, "render", &len);
+ const char *render = ZOOM_record_get(rec, type, &len);
const char *opac_render = ZOOM_record_get(rec, "opac", &opac_len);
const char *syntax = ZOOM_record_get(rec, "syntax", 0);
const char *schema = ZOOM_record_get(rec, "schema", 0);
const char **args)
{
int i;
- char start_str[10], count_str[10];
+ char start_str[10], count_str[10], render_str[60];
+ const char *type = "render";
if (next_token_copy(args, start_str, sizeof(start_str)) >= 0)
ZOOM_options_set(options, "start", start_str);
- if (next_token_copy(args, count_str, sizeof(count_str)) >= 0)
- ZOOM_options_set(options, "count", count_str);
+ if (next_token_copy(args, count_str, sizeof(count_str)) <= 0)
+ strcpy(count_str, "1");
+ ZOOM_options_set(options, "count", count_str);
+
+ if (next_token_copy(args, render_str, sizeof(render_str)) >= 0)
+ type = render_str;
for (i = 0; i<MAX_CON; i++)
ZOOM_resultset_records(r[i], 0, atoi(start_str), atoi(count_str));
/* OK, no major errors. Display records... */
int start = ZOOM_options_get_int(options, "start", 0);
int count = ZOOM_options_get_int(options, "count", 0);
- display_records(c[i], r[i], start, count);
+ display_records(c[i], r[i], start, count, type);
}
}
ZOOM_options_set(options, "count", "0");
printf("%s: %ld hits\n", ZOOM_connection_option_get(c[i], "host"),
(long) ZOOM_resultset_size(r[i]));
/* and display */
- display_records(c[i], r[i], start, count);
+ display_records(c[i], r[i], start, count, "render");
}
}
}
{
printf("connect <zurl>\n");
printf("search <pqf>\n");
- printf("show [<start> [<count>]\n");
+ printf("show [<start> [<count> [<type]]]\n");
printf("scan <term>\n");
printf("quit\n");
printf("close <zurl>\n");
EXTRA_DIST=dummy-records dummy-words dummy-grs ztest.pem config1.xml
-LDADD=../src/libyaz_server.la $(PTHREAD_LIBS)
+LDADD=../src/libyaz_server.la ../src/libyaz.la $(PTHREAD_LIBS)
AM_CPPFLAGS=-I$(top_srcdir)/include $(XML2_CFLAGS)