X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Foptions.c;h=4d92e1392a3e4fc75f2d2a9e034b08a693a0780a;hp=e66b13eb68cdae070b64ea487a0e926078a94d39;hb=fc9ad7425061fafd9340229aa006c4db115deee7;hpb=9495b9ae90634603fb390ff56da459e3c8137a63 diff --git a/src/options.c b/src/options.c index e66b13e..4d92e13 100644 --- a/src/options.c +++ b/src/options.c @@ -1,8 +1,6 @@ -/* - * Copyright (C) 1995-2007, Index Data ApS +/* This file is part of the YAZ toolkit. + * Copyright (C) 1995-2011 Index Data * See the file LICENSE for details. - * - * $Id: options.c,v 1.7 2008-02-20 10:03:42 adam Exp $ */ /** * \file options.c @@ -17,23 +15,23 @@ #include static int arg_no = 1; -static int arg_off = 0; +static size_t arg_off = 0; int options (const char *desc, char **argv, int argc, char **arg) { const char *opt_buf = 0; - int i = 0; + size_t i = 0; int ch = 0; if (arg_no >= argc) - return -2; + return YAZ_OPTIONS_EOF; if (arg_off == 0) { while (argv[arg_no][0] == '\0') { arg_no++; if (arg_no >= argc) - return -2; + return YAZ_OPTIONS_EOF; } if (argv[arg_no][0] != '-' || argv[arg_no][1] == '\0') { @@ -57,7 +55,7 @@ int options (const char *desc, char **argv, int argc, char **arg) int type = 0; while (desc[i] == '{') { - int i0 = ++i; + size_t i0 = ++i; while (desc[i] && desc[i] != '}') i++; if (opt_buf && (i - i0) == strlen(opt_buf) && @@ -68,7 +66,7 @@ int options (const char *desc, char **argv, int argc, char **arg) } if (desc[i] == ':') { /* option with string argument */ - type = desc[i++]; + type = desc[i++]; } if (desc_char == ch) { @@ -92,9 +90,7 @@ int options (const char *desc, char **argv, int argc, char **arg) } else /* option with no argument */ { - if (argv[arg_no][arg_off]) - arg_off++; - else + if (!argv[arg_no][arg_off]) { arg_off = 0; arg_no++; @@ -106,11 +102,12 @@ int options (const char *desc, char **argv, int argc, char **arg) *arg = argv[arg_no]+arg_off-1; arg_no = arg_no + 1; arg_off = 0; - return -1; + return YAZ_OPTIONS_ERROR; } /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab