From: Adam Dickmeiss Date: Thu, 25 Sep 2008 19:33:15 +0000 (+0200) Subject: Merge branch 'master' of ssh://git.indexdata.com/home/git/pub/yaz X-Git-Tag: v3.0.38~32 X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=commitdiff_plain;h=8ee8072ffe458a632055008d96d86359cebb46dc;hp=90aa30aeb696ad039711db3c1404406b53df4dd3 Merge branch 'master' of ssh://git.indexdata.com/home/git/pub/yaz --- diff --git a/client/client.c b/client/client.c index 4fd9406..106f12d 100644 --- a/client/client.c +++ b/client/client.c @@ -3267,12 +3267,24 @@ int cmd_format(const char *arg) printf("Usage: format \n"); return 0; } + while (sscanf(cp, "%40s%n", form_str, &nor) >= 1 && nor > 0 + && idx < RECORDSYNTAX_MAX) + { + if (strcmp(form_str, "none") && + !yaz_string_to_oid_odr(yaz_oid_std(), CLASS_RECSYN, form_str, out)) + { + printf("Bad format: %s\n", form_str); + return 0; + } + cp += nor; + } for (i = 0; i < recordsyntax_size; i++) { xfree(recordsyntax_list[i]); recordsyntax_list[i] = 0; } - + + cp = arg; while (sscanf(cp, "%40s%n", form_str, &nor) >= 1 && nor > 0 && idx < RECORDSYNTAX_MAX) { diff --git a/client/tabcomplete.c b/client/tabcomplete.c index 7bd6eca..283b90b 100644 --- a/client/tabcomplete.c +++ b/client/tabcomplete.c @@ -102,7 +102,7 @@ const char** build_list_for_oclass(oid_class oclass) char* complete_querytype(const char *text, int state) { - static const char* querytypes[] = {"ccl2rpn","prefix","cclrpn","ccl","cql", 0}; + static const char* querytypes[] = {"ccl2rpn","prefix","cclrpn","ccl","cql", "cql2rpn", 0}; return complete_from_list(querytypes,text,state); } diff --git a/doc/license.xml b/doc/license.xml index 7eafc2a..188b64f 100644 --- a/doc/license.xml +++ b/doc/license.xml @@ -38,10 +38,10 @@ - THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY + THIS SOFTWARE IS PROVIDED BY INDEX DATA ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR + DISCLAIMED. IN NO EVENT SHALL INDEX DATA BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER diff --git a/doc/odr.xml b/doc/odr.xml index 51189f3..627f5c9 100644 --- a/doc/odr.xml +++ b/doc/odr.xml @@ -104,7 +104,7 @@ - void odr_reset(ODR o, int size); + void odr_reset(ODR o); @@ -321,23 +321,23 @@ void do_nothing_useful(int value) if (!(decode = odr_createmem(ODR_DECODE))) return; - valp = &value; - if (odr_integer(encode, &valp, 0, 0) == 0) + valp = &value; + if (odr_integer(encode, &valp, 0, 0) == 0) { printf("encoding went bad\n"); return; } - bufferp = odr_getbuf(encode, &len); - printf("length of encoded data is %d\n", len); + bufferp = odr_getbuf(encode, &len, 0); + printf("length of encoded data is %d\n", len); /* now let's decode the thing again */ - odr_setbuf(decode, bufferp, len); - if (odr_integer(decode, &resvalp, 0, 0) == 0) + odr_setbuf(decode, bufferp, len, 0); + if (odr_integer(decode, &resvalp, 0, 0) == 0) { printf("decoding went bad\n"); return; } - printf("the value is %d\n", *resvalp); + printf("the value is %d\n", *resvalp); /* clean up */ odr_destroy(encode); @@ -504,7 +504,7 @@ void do_nothing_useful(int value) Summary and Synopsis - #include <odr.h> + #include <yaz/odr.h> ODR odr_createmem(int direction); @@ -512,19 +512,17 @@ void do_nothing_useful(int value) void odr_reset(ODR o); - char *odr_getbuf(ODR o, int *len); + char *odr_getbuf(ODR o, int *len, int *size); - void odr_setbuf(ODR o, char *buf, int len); + void odr_setbuf(ODR o, char *buf, int len, int can_grow); void *odr_malloc(ODR o, int size); - ODR_MEM odr_extract_mem(ODR o); - - void odr_release_mem(ODR_MEM r); + NMEM odr_extract_mem(ODR o); int odr_geterror(ODR o); - void odr_perror(char *message); + void odr_perror(ODR o, const char *message); extern char *odr_errlist[]; diff --git a/etc/MARC21slim2MODS.xsl b/etc/MARC21slim2MODS.xsl index 955a498..c494584 100644 --- a/etc/MARC21slim2MODS.xsl +++ b/etc/MARC21slim2MODS.xsl @@ -1,1873 +1,1873 @@ - - - - - - - - - - - - - - - - - - - - - - - BK - SE - - - BK - MM - CF - MP - VM - MU - - - - - - - - - - abfghk - - - - - - - - - - - <xsl:value-of select="substring($title,@ind2+1)"/> - - - - - <xsl:value-of select="$title"/> - - - - - - - - - - - <xsl:call-template name="subfieldSelect"> - <xsl:with-param name="codes">ab</xsl:with-param> - </xsl:call-template> - - - - - - - - <xsl:call-template name="subfieldSelect"> - <xsl:with-param name="codes">abh</xsl:with-param> - </xsl:call-template> - - - - - - - - - - - - - - <xsl:call-template name="subfieldSelect"> - <xsl:with-param name="codes">abfh</xsl:with-param> - </xsl:call-template> - - - - - - - - - <xsl:variable name="str"> - <xsl:for-each select="marc:subfield"> - <xsl:if test="(contains('adfhklmor',@code) and (not(../marc:subfield[@code='n' or @code='p']) or (following-sibling::marc:subfield[@code='n' or @code='p'])))"> - <xsl:value-of select="text()"/><xsl:text> </xsl:text> - </xsl:if> - </xsl:for-each> - </xsl:variable> - <xsl:value-of select="substring($str,1,string-length($str)-1)"/> - - - - - - - - - <xsl:call-template name="subfieldSelect"> - <xsl:with-param name="codes">ah</xsl:with-param> - </xsl:call-template> - - - - - - - - - - creator - - - - - - - - - creator - - - - - - - - creator - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - personal - - - - - - - - - - - yes - - - yes - - - - text - cartographic - notated music - sound recording - still image - moving image - three dimensional object - software, multimedia - mixed material - - - - - globe - - - - remote sensing image - - - - - - - map - - - atlas - - - - - - - - - database - - - loose-leaf - - - series - - - newspaper - - - periodical - - - web site - - - - - - - - - abstract or summary - - - bibliography - - - catalog - - - dictionary - - - encyclopedia - - - handbook - - - legal article - - - index - - - discography - - - legislation - - - theses - - - survey of literature - - - review - - - programmed text - - - filmography - - - directory - - - statistics - - - technical report - - - legal case and case notes - - - law report or digest - - - treaty - - - - - - conference publication - - - - - - - - - numeric data - - - database - - - font - - - game - - - - - - - patent - - - festschrift - - - - - biography - - - - - - essay - - - drama - - - comic strip - - - fiction - - - humor, satire - - - letter - - - novel - - - short story - - - speech - - - - - - - - biography - - - conference publication - - - drama - - - essay - - - fiction - - - folktale - - - history - - - humor, satire - - - memoir - - - poetry - - - rehersal - - - reporting - - - sound - - - speech - - - - - - - - art original - - - kit - - - art reproduction - - - diorama - - - filmstrip - - - legal article - - - picture - - - graphic - - - technical drawing - - - motion picture - - - chart - - - flash card - - - microscope slide - - - model - - - realia - - - slide - - - transparency - - - videorecording - - - toy - - - - - - - - - - - abvxyz - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - monographic - continuing - - - - - - - - ab - - - - - - - - - - - - rfc3066 - - - iso639-2b - - - - - - - - - - - - - - - - - reformatted digital - - - - - - - - - - - - - - - - - - - -
braille
-
- -
electronic
-
- -
microfiche
-
- -
microfilm
-
-
- - - - - - - - -
- - - -
-
- - - - - abce - - - -
- - - - - - - - - - - - ab - - - - - - - - - agrt - - - - - - - - ab - - - - - - - - - adolescent - - - adult - - - general - - - juvenile - - - preschool - - - specialized - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - defg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ab - - - - - - - - abx - - - - - - - - ab - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ab - - - - - - - - - <xsl:call-template name="subfieldSelect"> - <xsl:with-param name="codes">av</xsl:with-param> - </xsl:call-template> - <xsl:call-template name="part"/> - - - - - - - - - - <xsl:call-template name="subfieldSelect"> - <xsl:with-param name="codes">av</xsl:with-param> - </xsl:call-template> - <xsl:call-template name="part"/> - - - - - - - - - - - - - - - - - - - - - - - - - <xsl:call-template name="specialSubfieldSelect"> - <xsl:with-param name="anyCodes">tfklmorsv</xsl:with-param> - <xsl:with-param name="axis">t</xsl:with-param> - <xsl:with-param name="afterCodes">g</xsl:with-param> - </xsl:call-template> - - - - - - - abcq - t - g - - - - - - - - - - - - - - - - - - - - <xsl:call-template name="specialSubfieldSelect"> - <xsl:with-param name="anyCodes">tfklmorsv</xsl:with-param> - <xsl:with-param name="axis">t</xsl:with-param> - <xsl:with-param name="afterCodes">dg</xsl:with-param> - </xsl:call-template> - - - - - - - - - - - - - - - - - c - t - dgn - - - - - - - - - - - - - - - - - - - - - - - - <xsl:call-template name="specialSubfieldSelect"> - <xsl:with-param name="anyCodes">tfklsv</xsl:with-param> - <xsl:with-param name="axis">t</xsl:with-param> - <xsl:with-param name="afterCodes">g</xsl:with-param> - </xsl:call-template> - - - - - - - aqdc - t - gn - - - - - - - - - - - - - - <xsl:call-template name="subfieldSelect"> - <xsl:with-param name="codes">adfgklmorsv</xsl:with-param> - </xsl:call-template> - - - - - - - - - - - - - - <xsl:value-of select="marc:subfield[@code='a']"/> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <xsl:call-template name="specialSubfieldSelect"> - <xsl:with-param name="anyCodes">tfklmorsv</xsl:with-param> - <xsl:with-param name="axis">t</xsl:with-param> - <xsl:with-param name="afterCodes">g</xsl:with-param> - </xsl:call-template> - - - - - - - - - abcq - t - g - - - - - - - - - - - - - - - - - - - - <xsl:call-template name="specialSubfieldSelect"> - <xsl:with-param name="anyCodes">tfklmorsv</xsl:with-param> - <xsl:with-param name="axis">t</xsl:with-param> - <xsl:with-param name="afterCodes">dg</xsl:with-param> - </xsl:call-template> - - - - - - - - - - - - - - - - - c - t - dgn - - - - - - - - - - - - - - - - - <xsl:call-template name="specialSubfieldSelect"> - <xsl:with-param name="anyCodes">tfklsv</xsl:with-param> - <xsl:with-param name="axis">t</xsl:with-param> - <xsl:with-param name="afterCodes">g</xsl:with-param> - </xsl:call-template> - - - - - - - aqdc - t - gn - - - - - - - - - - - - <xsl:call-template name="subfieldSelect"> - <xsl:with-param name="codes">adfgklmorsv</xsl:with-param> - </xsl:call-template> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - issue number - matrix number - music plate - music publisher - videorecording identifier - - - - ab - - - - - - - - ab - - - - - - - - - doi - uri - - - - - - - - - - - - - - - - abj - - - - - - - - abcd35 - - - - - - - - abcde35 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - n - n - fghkdlmor - - - - - p - p - fghkdlmor - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - cdn - - - - - - - - - - - abcq - - - - - - - - - - - acdeq - - - - - - - - constituent - related - - - - - - - - - <xsl:value-of select="."/> - - - - - - - - - - <xsl:value-of select="."/> - - - - - - - - - - - - - - - - - - - - - - - - lcsh - lcshac - mesh - csh - nal - rvm - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - abcq - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - cdnp - - - - - - - - - - - - - - - - abcdeqnp - - - - - - - - - - - - - - - - - - <xsl:call-template name="subfieldSelect"> - <xsl:with-param name="codes">adfhklor</xsl:with-param> - </xsl:call-template> - <xsl:call-template name="part"/> - - - - - - - - - - - - - - abcd - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + defg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ab + + + + + + + + abx + + + + + + + + ab + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ab + + + + + + + + + <xsl:call-template name="subfieldSelect"> + <xsl:with-param name="codes">av</xsl:with-param> + </xsl:call-template> + <xsl:call-template name="part"/> + + + + + + + + + + <xsl:call-template name="subfieldSelect"> + <xsl:with-param name="codes">av</xsl:with-param> + </xsl:call-template> + <xsl:call-template name="part"/> + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:call-template name="specialSubfieldSelect"> + <xsl:with-param name="anyCodes">tfklmorsv</xsl:with-param> + <xsl:with-param name="axis">t</xsl:with-param> + <xsl:with-param name="afterCodes">g</xsl:with-param> + </xsl:call-template> + + + + + + + abcq + t + g + + + + + + + + + + + + + + + + + + + + <xsl:call-template name="specialSubfieldSelect"> + <xsl:with-param name="anyCodes">tfklmorsv</xsl:with-param> + <xsl:with-param name="axis">t</xsl:with-param> + <xsl:with-param name="afterCodes">dg</xsl:with-param> + </xsl:call-template> + + + + + + + + + + + + + + + + + c + t + dgn + + + + + + + + + + + + + + + + + + + + + + + + <xsl:call-template name="specialSubfieldSelect"> + <xsl:with-param name="anyCodes">tfklsv</xsl:with-param> + <xsl:with-param name="axis">t</xsl:with-param> + <xsl:with-param name="afterCodes">g</xsl:with-param> + </xsl:call-template> + + + + + + + aqdc + t + gn + + + + + + + + + + + + + + <xsl:call-template name="subfieldSelect"> + <xsl:with-param name="codes">adfgklmorsv</xsl:with-param> + </xsl:call-template> + + + + + + + + + + + + + + <xsl:value-of select="marc:subfield[@code='a']"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:call-template name="specialSubfieldSelect"> + <xsl:with-param name="anyCodes">tfklmorsv</xsl:with-param> + <xsl:with-param name="axis">t</xsl:with-param> + <xsl:with-param name="afterCodes">g</xsl:with-param> + </xsl:call-template> + + + + + + + + + abcq + t + g + + + + + + + + + + + + + + + + + + + + <xsl:call-template name="specialSubfieldSelect"> + <xsl:with-param name="anyCodes">tfklmorsv</xsl:with-param> + <xsl:with-param name="axis">t</xsl:with-param> + <xsl:with-param name="afterCodes">dg</xsl:with-param> + </xsl:call-template> + + + + + + + + + + + + + + + + + c + t + dgn + + + + + + + + + + + + + + + + + <xsl:call-template name="specialSubfieldSelect"> + <xsl:with-param name="anyCodes">tfklsv</xsl:with-param> + <xsl:with-param name="axis">t</xsl:with-param> + <xsl:with-param name="afterCodes">g</xsl:with-param> + </xsl:call-template> + + + + + + + aqdc + t + gn + + + + + + + + + + + + <xsl:call-template name="subfieldSelect"> + <xsl:with-param name="codes">adfgklmorsv</xsl:with-param> + </xsl:call-template> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + issue number + matrix number + music plate + music publisher + videorecording identifier + + + + ab + + + + + + + + ab + + + + + + + + + doi + uri + + + + + + + + + + + + + + + + abj + + + + + + + + abcd35 + + + + + + + + abcde35 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + n + n + fghkdlmor + + + + + p + p + fghkdlmor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cdn + + + + + + + + + + + abcq + + + + + + + + + + + acdeq + + + + + + + + constituent + related + + + + + + + + + <xsl:value-of select="."/> + + + + + + + + + + <xsl:value-of select="."/> + + + + + + + + + + + + + + + + + + + + + + + + lcsh + lcshac + mesh + csh + nal + rvm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + abcq + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cdnp + + + + + + + + + + + + + + + + abcdeqnp + + + + + + + + + + + + + + + + + + <xsl:call-template name="subfieldSelect"> + <xsl:with-param name="codes">adfhklor</xsl:with-param> + </xsl:call-template> + <xsl:call-template name="part"/> + + + + + + + + + + + + + + abcd + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/etc/MARC21slim2RDFDC.xsl b/etc/MARC21slim2RDFDC.xsl index 06afea4..d6b3a8c 100644 --- a/etc/MARC21slim2RDFDC.xsl +++ b/etc/MARC21slim2RDFDC.xsl @@ -1,197 +1,197 @@ - - - - - - - - - - - - - - - - - - - - abfghk - - - - - - - - - - - - - - yes - - - - yes - - - - text - cartographic - notated music - sound recording - still image - moving image - three dimensional object - software, multimedia - mixed material - - - - - - - - - - - - - ab - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - abcdq - - - - - - - - abcdq - - - - - - - - abcdq - - - - - - - - abcdq - - - - - - - - abcdq - - - - - - - - abcdq - - - - - - - - abcd - - - - - - - - abcdu - - - - - - - - ot - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/etc/MARC21slimUtils.xsl b/etc/MARC21slimUtils.xsl index 5f3cce3..b9d0cdf 100644 --- a/etc/MARC21slimUtils.xsl +++ b/etc/MARC21slimUtils.xsl @@ -1,65 +1,65 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/makefile b/win/makefile index b170a1d..2ff3d31 100644 --- a/win/makefile +++ b/win/makefile @@ -25,11 +25,11 @@ ICU_DIR = c:\icu # libxslt HAVE_LIBXSLT=1 -LIBXSLT_DIR=c:\libxslt-1.1.19.win32 +LIBXSLT_DIR=c:\libxslt-1.1.23+.win32 # libxml2 HAVE_LIBXML2=1 -LIBXML2_DIR=c:\libxml2-2.6.28.win32 +LIBXML2_DIR=c:\libxml2-2.6.32+.win32 # zlib compression (used by libxml2) ZLIB_DIR = c:\zlib-1.2.3.win32 @@ -174,15 +174,15 @@ ICU_DEF= \ /I"$(ICU_DIR)\include" ICU_LIB= \ $(ICU_DIR)\lib\icudt.lib $(ICU_DIR)\lib\icuin.lib $(ICU_DIR)\lib\icuuc.lib -icu: $(BINDIR)\icudt38.dll $(BINDIR)\icuin38.dll $(BINDIR)\icuuc38.dll +icu: $(BINDIR)\icudt40.dll $(BINDIR)\icuin40.dll $(BINDIR)\icuuc40.dll yazicu: dirs generate $(YAZ_ICU) -$(BINDIR)\icudt38.dll: - copy "$(ICU_DIR)\bin\icudt38.dll" $(BINDIR) -$(BINDIR)\icuin38.dll: - copy "$(ICU_DIR)\bin\icuin38.dll" $(BINDIR) -$(BINDIR)\icuuc38.dll: - copy "$(ICU_DIR)\bin\icuuc38.dll" $(BINDIR) +$(BINDIR)\icudt40.dll: + copy "$(ICU_DIR)\bin\icudt40.dll" $(BINDIR) +$(BINDIR)\icuin40.dll: + copy "$(ICU_DIR)\bin\icuin40.dll" $(BINDIR) +$(BINDIR)\icuuc40.dll: + copy "$(ICU_DIR)\bin\icuuc40.dll" $(BINDIR) !else ICU_DEF= \ /D YAZ_HAVE_ICU=0 @@ -283,7 +283,7 @@ MT=mt.exe /nologo MT=echo !endif -LINK_LIBS= kernel32.lib wsock32.lib advapi32.lib \ +LINK_LIBS= kernel32.lib ws2_32.lib advapi32.lib \ $(ICONV_LIB) $(LIBXML2_LIB) $(LIBXSLT_LIB) COMMON_LNK_OPTIONS= /nologo /subsystem:windows /machine:i386 /incremental:no @@ -495,6 +495,7 @@ MISC_OBJS= \ $(OBJDIR)\iconv_encode_marc8.obj \ $(OBJDIR)\iconv_decode_marc8.obj \ $(OBJDIR)\iconv_encode_wchar.obj \ + $(OBJDIR)\mutex.obj \ $(OBJDIR)\sc.obj Z3950_OBJS= \