diff options
Diffstat (limited to 'backend/canon630u-common.c')
-rw-r--r-- | backend/canon630u-common.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/backend/canon630u-common.c b/backend/canon630u-common.c index e6fcf33..deaef66 100644 --- a/backend/canon630u-common.c +++ b/backend/canon630u-common.c @@ -937,7 +937,10 @@ plugin_cal (CANON_Handle * s) { DBG (1, "No temp filename!\n"); s->fname = strdup ("/tmp/cal.XXXXXX"); - mkstemp (s->fname); + + /* FIXME: we should be using fd, not discarding it, and also checking for error! */ + int fd = mkstemp (s->fname); + close(fd); } s->width = 2551; s->height = 75; @@ -1546,7 +1549,7 @@ CANON_open_device (CANON_Handle * scan, const char *dev) static const char * CANON_get_device_name (CANON_Handle * scanner) { - scanner = scanner; /* Eliminate warning about unused parameters */ + (void) scanner; /* Eliminate warning about unused parameters */ return "Canoscan FB630U"; } @@ -1581,8 +1584,12 @@ CANON_start_scan (CANON_Handle * scanner) /* choose a temp file name for scan data */ scanner->fname = strdup ("/tmp/scan.XXXXXX"); - if (!mkstemp (scanner->fname)) + + /* FIXME: we should be using fd, not discarding it! */ + int fd = mkstemp (scanner->fname); + if (fd == -1) return SANE_STATUS_IO_ERROR; + close(fd); /* calibrate if needed */ rv = init (scanner->fd); |