winejoystick.drv: Use CP_UNIXCP instead of CP_ACP when converting a string that comes...
[wine] / dlls / sane.ds / options.c
1 /*
2  * Copyright 2009 Jeremy White <jwhite@codeweavers.com> for CodeWeavers
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18
19 #include "config.h"
20
21 #include <stdlib.h>
22 #include "twain.h"
23 #include "sane_i.h"
24 #include "wine/debug.h"
25
26 WINE_DEFAULT_DEBUG_CHANNEL(twain);
27
28 #ifdef SONAME_LIBSANE
29 SANE_Status sane_option_get_int(SANE_Handle h, const char *option_name, SANE_Int *val)
30 {
31     SANE_Status rc;
32     SANE_Int optcount;
33     const SANE_Option_Descriptor *opt;
34     int i;
35
36     rc = psane_control_option(h, 0, SANE_ACTION_GET_VALUE, &optcount, NULL);
37     if (rc != SANE_STATUS_GOOD)
38         return rc;
39
40     for (i = 1; i < optcount; i++)
41     {
42         opt = psane_get_option_descriptor(h, i);
43         if (opt && (opt->name && strcmp(opt->name, option_name) == 0) &&
44                opt->type == SANE_TYPE_INT )
45             return psane_control_option(h, i, SANE_ACTION_GET_VALUE, val, NULL);
46     }
47     return SANE_STATUS_EOF;
48 }
49 #endif