diff -ru pjbmanager-0.2.1.orig/pjbapi/pjbdev_linux.c pjbmanager-0.2.1/pjbapi/pjbdev_linux.c --- pjbmanager-0.2.1.orig/pjbapi/pjbdev_linux.c Wed Jun 7 13:06:57 2000 +++ pjbmanager-0.2.1/pjbapi/pjbdev_linux.c Wed Dec 27 16:47:16 2000 @@ -105,7 +105,11 @@ PJBCOMMDEV *pjbdev = &pjbdev_linuxusb; -static char *pjbdev_devname = "/dev/cpqpjb"; +static char *pjbdev_devnames[3] = { + "/dev/cpqpjb", + "/dev/usb/cpqpjb", + NULL +}; extern int PJB_GetInfo1(PJBCOMMHANDLE *pjbdev,PJB_INFO *info); @@ -263,6 +267,7 @@ { ENUMINFO enuminfo; int cnt; + int curdev; memset(&enuminfo,0,sizeof(enuminfo)); enuminfo.ids = ids; @@ -280,7 +285,8 @@ // for now, we only have one device. // - pjbdev_enumfunc(pjbdev_devname,&enuminfo); + for (curdev = 0; pjbdev_devnames[curdev]; curdev++) + pjbdev_enumfunc(pjbdev_devnames[curdev],&enuminfo); return enuminfo.idcnt; } @@ -289,6 +295,7 @@ PJBCOMMHANDLE *pjbdev_open(PJB_ID *id) { OPENINFO openinfo; + int curdev; openinfo.openssn = id->b; openinfo.devinfo = NULL; @@ -301,7 +308,11 @@ // for now, we only have one device. // - pjbdev_openfunc("/dev/cpqpjb",&openinfo); + for (curdev = 0; pjbdev_devnames[curdev]; curdev++) { + pjbdev_openfunc(pjbdev_devnames[curdev], &openinfo); + if (openinfo.devinfo) + break; + } return openinfo.devinfo; } diff -ru pjbmanager-0.2.1.orig/pjbapi/pjbproto.c pjbmanager-0.2.1/pjbapi/pjbproto.c --- pjbmanager-0.2.1.orig/pjbapi/pjbproto.c Wed Jun 7 13:06:57 2000 +++ pjbmanager-0.2.1/pjbapi/pjbproto.c Wed Dec 27 16:46:39 2000 @@ -303,7 +303,7 @@ Strings are stored with their null terminators. */ - while (itemcode = va_arg(marker,u16)) { + while ((itemcode = va_arg(marker,int))) { switch (IT_TYPE(itemcode)) { case IT_UINT: ebuf_add_u16(buf,itemcode); @@ -434,7 +434,7 @@ va_start(marker,buf); for (;;) { - itemcode = va_arg(marker,u16); + itemcode = va_arg(marker,int); if (itemcode == 0) break; itemdest = va_arg(marker,void *); itemval = pjbproto_find_item(buf,itemcode,&itemlen);