Add support for privately defined extended service, xml update, with
[yaz-moved-to-github.git] / src / initopt.c
index a0eef33..b09d0fd 100644 (file)
@@ -1,8 +1,13 @@
 /*
- * Copyright (c) 1995-2004, Index Data
+ * Copyright (C) 1995-2005, Index Data ApS
  * See the file LICENSE for details.
  *
- * $Id: initopt.c,v 1.1 2004-01-12 12:11:57 adam Exp $
+ * $Id: initopt.c,v 1.5 2005-06-06 07:12:47 ja7 Exp $
+ */
+
+/**
+ * \file initopt.c
+ * \brief Implements Z39.50 Init Options Utility
  */
 
 #if HAVE_CONFIG_H
@@ -46,7 +51,7 @@ int yaz_init_opt_encode(Z_Options *opt, const char *opt_str, int *error_pos)
     ODR_MASK_ZERO(opt);
     while (*cp)
     {
-       char this_opt[20];
+       char this_opt[42];
        int i, j;
        if (*cp == ' ' || *cp == ',')
        {
@@ -78,10 +83,12 @@ int yaz_init_opt_encode(Z_Options *opt, const char *opt_str, int *error_pos)
     return 0;
 }
 
-void yaz_init_opt_decode(Z_Options *opt, void (*pr)(const char *name))
+void yaz_init_opt_decode(Z_Options *opt, void (*pr)(const char *name,
+                                                   void *clientData),
+                        void *clientData)
 {
     int i;
     for (i = 0; opt_array[i].name; i++)
        if (ODR_MASK_GET(opt, opt_array[i].opt))
-           (*pr)(opt_array[i].name);
+           (*pr)(opt_array[i].name, clientData);
 }