X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=zoom%2Fzoom-opt.c;h=883a5a310946443a1b8b25aa43206a88d24d2188;hb=1cd88a77abb7c32e5ff938e2f4b9392d03d45ec5;hp=f99092ead62429a24126914a2795ea789ff2fa6f;hpb=13671e7cc0f3dd4e4b02f94d64a50778c5696ba6;p=yaz-moved-to-github.git diff --git a/zoom/zoom-opt.c b/zoom/zoom-opt.c index f99092e..883a5a3 100644 --- a/zoom/zoom-opt.c +++ b/zoom/zoom-opt.c @@ -1,5 +1,5 @@ /* - * $Id: zoom-opt.c,v 1.2 2001-11-18 21:14:23 adam Exp $ + * $Id: zoom-opt.c,v 1.5 2002-05-17 12:48:30 adam Exp $ * * ZOOM layer for C, options handling */ @@ -9,14 +9,16 @@ #include "zoom-p.h" -ZOOM_options ZOOM_options_create (void) +ZOOM_API(ZOOM_options) +ZOOM_options_create (void) { return ZOOM_options_create_with_parent (0); } -ZOOM_options ZOOM_options_create_with_parent (ZOOM_options parent) +ZOOM_API(ZOOM_options) +ZOOM_options_create_with_parent (ZOOM_options parent) { - ZOOM_options opt = xmalloc (sizeof(*opt)); + ZOOM_options opt = (ZOOM_options) xmalloc (sizeof(*opt)); opt->refcount = 1; opt->callback_func = 0; @@ -33,7 +35,8 @@ void ZOOM_options_addref (ZOOM_options opt) (opt->refcount)++; } -ZOOM_options_callback ZOOM_options_set_callback ( +ZOOM_API(ZOOM_options_callback) +ZOOM_options_set_callback ( ZOOM_options opt, ZOOM_options_callback callback_func, void *callback_handle) @@ -47,7 +50,8 @@ ZOOM_options_callback ZOOM_options_set_callback ( return callback_old; } -void ZOOM_options_destroy (ZOOM_options opt) +ZOOM_API(void) +ZOOM_options_destroy (ZOOM_options opt) { if (!opt) return; @@ -70,7 +74,8 @@ void ZOOM_options_destroy (ZOOM_options opt) } } -void ZOOM_options_set (ZOOM_options opt, const char *name, const char *value) +ZOOM_API(void) +ZOOM_options_set (ZOOM_options opt, const char *name, const char *value) { struct ZOOM_options_entry **e; @@ -85,13 +90,14 @@ void ZOOM_options_set (ZOOM_options opt, const char *name, const char *value) } e = &(*e)->next; } - *e = xmalloc (sizeof(**e)); + *e = (struct ZOOM_options_entry *) xmalloc (sizeof(**e)); (*e)->name = xstrdup (name); (*e)->value = xstrdup (value); (*e)->next = 0; } -const char *ZOOM_options_get (ZOOM_options opt, const char *name) +ZOOM_API(const char *) +ZOOM_options_get (ZOOM_options opt, const char *name) { const char *v = 0; if (!opt) @@ -113,7 +119,8 @@ const char *ZOOM_options_get (ZOOM_options opt, const char *name) return v; } -int ZOOM_options_get_bool (ZOOM_options opt, const char *name, int defa) +ZOOM_API(int) +ZOOM_options_get_bool (ZOOM_options opt, const char *name, int defa) { const char *v = ZOOM_options_get (opt, name); @@ -124,7 +131,8 @@ int ZOOM_options_get_bool (ZOOM_options opt, const char *name, int defa) return 0; } -int ZOOM_options_get_int (ZOOM_options opt, const char *name, int defa) +ZOOM_API(int) +ZOOM_options_get_int (ZOOM_options opt, const char *name, int defa) { const char *v = ZOOM_options_get (opt, name); @@ -132,3 +140,12 @@ int ZOOM_options_get_int (ZOOM_options opt, const char *name, int defa) return defa; return atoi(v); } + +ZOOM_API(void) +ZOOM_options_set_int(ZOOM_options opt, const char *name, int value) +{ + char s[40]; + + sprintf (s, "%d", value); + ZOOM_options_set (opt, name, s); +}