Added checks for the return values of SANE API functions.

merge-requests/2/head
Henning Geinitz 2003-12-15 22:15:14 +00:00
rodzic df76db9165
commit 215717250a
3 zmienionych plików z 68 dodań i 9 usunięć

Wyświetl plik

@ -41,6 +41,16 @@
#include <sane/sane.h>
#include <sane/saneopts.h>
#define DBG_fatal 0
#define DBG_error 1
#define DBG_warning 2
#define DBG_info 3
#define DBG_debug 4
#define DEBUG_NOT_STATIC
#define BACKEND_NAME xscanimage
#include "../include/sane/sanei_debug.h"
int gsg_message_dialog_active = 0;
/* forward declarations: */
@ -425,6 +435,7 @@ scale_update (GtkAdjustment * adj_data, GSGDialogElement * elem)
SANE_Word val, new_val;
int opt_num;
double d;
SANE_Status status;
opt_num = elem - dialog->element;
opt = sane_get_option_descriptor (dialog->dev, opt_num);
@ -446,8 +457,14 @@ scale_update (GtkAdjustment * adj_data, GSGDialogElement * elem)
return;
}
set_option (dialog, opt_num, &val, SANE_ACTION_SET_VALUE);
sane_control_option (dialog->dev, opt_num, SANE_ACTION_GET_VALUE, &new_val,
0);
status = sane_control_option (dialog->dev, opt_num, SANE_ACTION_GET_VALUE, &new_val,
0);
if (status != SANE_STATUS_GOOD)
{
DBG (DBG_fatal, "scale_update: sane_control_option failed: %s\n", sane_strstatus (status));
return;
}
if (new_val != val)
{
val = new_val;

Wyświetl plik

@ -79,6 +79,16 @@
#include "preview.h"
#include "preferences.h"
#define DBG_fatal 0
#define DBG_error 1
#define DBG_warning 2
#define DBG_info 3
#define DBG_debug 4
#define DEBUG_DECLARE_ONLY
#define BACKEND_NAME xscanimage
#include "../include/sane/sanei_debug.h"
#ifndef PATH_MAX
# define PATH_MAX 1024
#endif
@ -497,12 +507,19 @@ static void
set_option_bool (Preview *p, int option, SANE_Bool value)
{
SANE_Handle dev;
SANE_Status status;
if (option <= 0)
return;
dev = p->dialog->dev;
sane_control_option (dev, option, SANE_ACTION_SET_VALUE, &value, 0);
status = sane_control_option (dev, option, SANE_ACTION_SET_VALUE, &value, 0);
if (status != SANE_STATUS_GOOD)
{
DBG (DBG_fatal, "set_option_bool: sane_control_option failed: %s\n",
sane_strstatus (status));
return;
}
}
static int

Wyświetl plik

@ -45,6 +45,7 @@
#include <sane/saneopts.h>
#include "../include/sane/sanei.h"
#define DEBUG_DECLARE_ONLY
#define BACKEND_NAME xscanimage
#include "../include/sane/sanei_debug.h"
@ -307,6 +308,7 @@ query (void)
char name[1024];
size_t len;
int i, j;
SANE_Status status;
DBG(DBG_debug, "query\n");
gimp_install_procedure (
@ -323,8 +325,19 @@ query (void)
nargs, nreturn_vals,
args, return_vals);
sane_init (0, 0);
sane_get_devices (&devlist, SANE_FALSE);
status = sane_init (0, 0);
if (status != SANE_STATUS_GOOD)
{
DBG (DBG_fatal, "query: sane_init failed: %s\n", sane_strstatus (status));
exit (1);
}
status = sane_get_devices (&devlist, SANE_FALSE);
if (status != SANE_STATUS_GOOD)
{
DBG (DBG_fatal, "query: sane_get_devices failed: %s\n", sane_strstatus (status));
exit (1);
}
for (i = 0; devlist[i]; ++i)
{
@ -447,8 +460,8 @@ SANE_Word get_resolution (SANE_Handle dev)
if (strncmp (option_desc->name, SANE_NAME_SCAN_RESOLUTION,
sizeof(SANE_NAME_SCAN_RESOLUTION)) == 0)
{
sane_control_option (dev, i, SANE_ACTION_GET_VALUE,
&resolution, 0);
status = sane_control_option (dev, i, SANE_ACTION_GET_VALUE,
&resolution, 0);
if (status == SANE_STATUS_GOOD)
{
if (option_desc->type == SANE_TYPE_INT)
@ -1954,6 +1967,7 @@ init (int argc, char **argv)
{
char filename[PATH_MAX];
struct stat st;
SANE_Status status;
DBG(DBG_debug, "init\n");
gtk_init (&argc, &argv);
@ -1981,7 +1995,12 @@ init (int argc, char **argv)
gtk_rc_parse (filename);
}
sane_init (0, 0);
status = sane_init (0, 0);
if (status != SANE_STATUS_GOOD)
{
DBG (DBG_fatal, "init: sane_init failed: %s\n", sane_strstatus (status));
exit (1);
}
if (argc > 1)
{
@ -2025,7 +2044,13 @@ init (int argc, char **argv)
{
char * defdevname;
sane_get_devices (&devlist, SANE_FALSE);
status = sane_get_devices (&devlist, SANE_FALSE);
if (status != SANE_STATUS_GOOD)
{
DBG (DBG_fatal, "init: sane_get_devices failed: %s\n", sane_strstatus (status));
exit (1);
}
if ((defdevname = getenv("SANE_DEFAULT_DEVICE")) != NULL)
{
int i;