kopia lustrzana https://gitlab.com/sane-project/backends
* backend/umax_pp_low.c: handled 'short read' with ppdev
* backend/umax_pp.c: assign size of 0 to group options * tools/umax_pp.c: upped version numberDEVEL_2_0_BRANCH-1
rodzic
b67f0a2123
commit
e4b1534faa
|
@ -350,6 +350,7 @@ init_options (Umax_PP_Device * dev)
|
|||
dev->opt[OPT_MODE_GROUP].name = "";
|
||||
dev->opt[OPT_MODE_GROUP].desc = "";
|
||||
dev->opt[OPT_MODE_GROUP].type = SANE_TYPE_GROUP;
|
||||
dev->opt[OPT_MODE_GROUP].size = 0;
|
||||
dev->opt[OPT_MODE_GROUP].constraint_type = SANE_CONSTRAINT_NONE;
|
||||
|
||||
/* scan mode */
|
||||
|
@ -397,6 +398,7 @@ init_options (Umax_PP_Device * dev)
|
|||
dev->opt[OPT_GEOMETRY_GROUP].desc = "";
|
||||
dev->opt[OPT_GEOMETRY_GROUP].name = "";
|
||||
dev->opt[OPT_GEOMETRY_GROUP].type = SANE_TYPE_GROUP;
|
||||
dev->opt[OPT_GEOMETRY_GROUP].size = 0;
|
||||
dev->opt[OPT_GEOMETRY_GROUP].constraint_type = SANE_CONSTRAINT_NONE;
|
||||
|
||||
/* top-left x */
|
||||
|
@ -445,6 +447,7 @@ init_options (Umax_PP_Device * dev)
|
|||
dev->opt[OPT_ENHANCEMENT_GROUP].desc = "";
|
||||
dev->opt[OPT_ENHANCEMENT_GROUP].name = "";
|
||||
dev->opt[OPT_ENHANCEMENT_GROUP].type = SANE_TYPE_GROUP;
|
||||
dev->opt[OPT_ENHANCEMENT_GROUP].size = 0;
|
||||
dev->opt[OPT_ENHANCEMENT_GROUP].cap |= SANE_CAP_ADVANCED;
|
||||
dev->opt[OPT_ENHANCEMENT_GROUP].constraint_type = SANE_CONSTRAINT_NONE;
|
||||
|
||||
|
|
|
@ -1700,7 +1700,7 @@ static void
|
|||
EPPReadBuffer (int size, unsigned char *dest)
|
||||
{
|
||||
#ifdef HAVE_LINUX_PPDEV_H
|
||||
int fd, mode, rc;
|
||||
int fd, mode, rc, nb;
|
||||
unsigned char bval;
|
||||
#endif
|
||||
int control;
|
||||
|
@ -1724,7 +1724,12 @@ EPPReadBuffer (int size, unsigned char *dest)
|
|||
#endif
|
||||
mode = IEEE1284_MODE_EPP | IEEE1284_DATA;
|
||||
rc = ioctl (fd, PPSETMODE, &mode);
|
||||
rc = read (fd, dest, size - 1);
|
||||
nb = 0;
|
||||
while (nb < size - 1)
|
||||
{
|
||||
rc = read (fd, dest + nb, size - 1 - nb);
|
||||
nb += rc;
|
||||
}
|
||||
|
||||
mode = 0; /* forward */
|
||||
rc = ioctl (fd, PPDATADIR, &mode);
|
||||
|
@ -1889,7 +1894,7 @@ static void
|
|||
EPPRead32Buffer (int size, unsigned char *dest)
|
||||
{
|
||||
#ifdef HAVE_LINUX_PPDEV_H
|
||||
int fd, mode, rc;
|
||||
int fd, mode, rc,nb;
|
||||
unsigned char bval;
|
||||
#endif
|
||||
int control;
|
||||
|
@ -1919,7 +1924,12 @@ EPPRead32Buffer (int size, unsigned char *dest)
|
|||
#endif
|
||||
mode = IEEE1284_MODE_EPP | IEEE1284_DATA;
|
||||
rc = ioctl (fd, PPSETMODE, &mode);
|
||||
rc = read (fd, dest, size - 4);
|
||||
nb=0;
|
||||
while(nb<size-4)
|
||||
{
|
||||
rc = read (fd, dest+nb, size - 4-nb);
|
||||
nb+=rc;
|
||||
}
|
||||
|
||||
rc = read (fd, dest + size - 4, 3);
|
||||
|
||||
|
|
|
@ -367,7 +367,7 @@ main (int argc, char **argv)
|
|||
}
|
||||
if (trace)
|
||||
{
|
||||
printf ("UMAX 1220P scanning program version 2.10 starting ...\n");
|
||||
printf ("UMAX 1220P scanning program version 2.15 starting ...\n");
|
||||
#ifdef HAVE_LINUX_PPDEV_H
|
||||
printf ("ppdev character device built-in.\n");
|
||||
#endif
|
||||
|
|
Ładowanie…
Reference in New Issue