X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fwaislen.c;fp=src%2Fwaislen.c;h=38ddf0a1595782619733ec3a580ca29ecab98199;hb=c6e47cbbff56f39f6d81b079ebaeac41d793d4d9;hp=0000000000000000000000000000000000000000;hpb=c71d717ada2a9ef730d527f161eb5ba9aa641a9f;p=yaz-moved-to-github.git diff --git a/src/waislen.c b/src/waislen.c new file mode 100644 index 0000000..38ddf0a --- /dev/null +++ b/src/waislen.c @@ -0,0 +1,49 @@ +/* + * Copyright (c) 1995-1999, Index Data. + * See the file LICENSE for details. + * Sebastian Hammer, Adam Dickmeiss + * + * $Log: waislen.c,v $ + * Revision 1.1 2003-10-27 12:21:36 adam + * Source restructure. yaz-marcdump part of installation + * + * Revision 1.5 1999/11/30 13:47:11 adam + * Improved installation. Moved header files to include/yaz. + * + * Revision 1.4 1999/01/08 11:23:15 adam + * Added const modifier to some of the BER/ODR encoding routines. + * + * Revision 1.3 1996/02/29 14:23:13 adam + * Bug fix. + * + * Revision 1.2 1996/02/26 18:34:44 adam + * Bug fix. + * + * Revision 1.1 1996/02/20 13:02:58 quinn + * Wais length. + * + * + */ + +#include +#include +#include +/* + * Return length of WAIS package or 0 + */ +int completeWAIS(const unsigned char *buf, int len) +{ + int i, lval = 0; + + if (len < 25) + return 0; + if (*buf != '0') + return 0; + /* calculate length */ + for (i = 0; i < 10; i++) + lval = lval * 10 + (buf[i] - '0'); + lval += 25; + if (len >= lval) + return lval; + return 0; +}