From b3d1527a6d94b1af17bf36c7781be9679c3fbfc9 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Mon, 12 Jan 2009 18:52:44 +0100 Subject: [PATCH] Utility yaz-marcdump got option to display YAZ version (-V) --- doc/yaz-marcdump-man.xml | 34 +++++++++++++++++++++++++--------- util/marcdump.c | 22 ++++++++++++++++++---- 2 files changed, 43 insertions(+), 13 deletions(-) diff --git a/doc/yaz-marcdump-man.xml b/doc/yaz-marcdump-man.xml index 8095098..3448628 100644 --- a/doc/yaz-marcdump-man.xml +++ b/doc/yaz-marcdump-man.xml @@ -31,11 +31,13 @@ - + + + file @@ -122,14 +124,6 @@ - -v - - Writes more information about the parsing process. - Useful if you have ill-formatted ISO2709 records as input. - - - - -s prefix Writes a chunk of records to a separate file with prefix given, @@ -155,6 +149,28 @@ + + -n + + MARC output is omitted so that MARC input is only checkecd. + + + + + -v + + Writes more information about the parsing process. + Useful if you have ill-formatted ISO2709 records as input. + + + + + -V + + Prints YAZ version. + + + diff --git a/util/marcdump.c b/util/marcdump.c index 2331768..43ff281 100644 --- a/util/marcdump.c +++ b/util/marcdump.c @@ -58,12 +58,23 @@ static char *prog; static void usage(const char *prog) { - fprintf (stderr, "Usage: %s [-c cfile] [-f from] [-t to] " - "[-i format] [-o format] " - "[-n] [-l pos=value] [-v] [-C chunk] [-s splitfname] [-p] file...\n", + fprintf (stderr, "Usage: %s [-i format] [-o format] [-f from] [-t to] " + "[-l pos=value] [-c cfile] [-s prefix] [-C size] [-n] " + "[-p] [-v] [-V] file...\n", prog); } +static void show_version(void) +{ + char vstr[20], sha1_str[41]; + + yaz_version(vstr, sha1_str); + printf("YAZ version: %s %s\n", YAZ_VERSION, YAZ_VERSION_SHA1); + if (strcmp(sha1_str, YAZ_VERSION_SHA1)) + printf("YAZ DLL/SO: %s %s\n", vstr, sha1_str); + exit(0); +} + static int getbyte_stream(void *client_data) { FILE *f = (FILE*) client_data; @@ -402,7 +413,7 @@ int main (int argc, char **argv) #endif prog = *argv; - while ((r = options("i:o:C:npvc:xOeXIf:t:s:l:", argv, argc, &arg)) != -2) + while ((r = options("i:o:C:npc:xOeXIf:t:s:l:Vv", argv, argc, &arg)) != -2) { no++; switch (r) @@ -499,6 +510,9 @@ int main (int argc, char **argv) case 'v': verbose++; break; + case 'V': + show_version(); + break; default: usage(prog); exit(1); -- 1.7.10.4