incorrectly reports low ink for VIP version 3 devices
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
HPLIP |
New
|
Undecided
|
Unassigned |
Bug Description
The device ID parsing code seems to be incorrect in 3.9.8.
For this Device ID I am seeing marker-
MFG:HP;
K550;CMD:
K550;SN:
whereas it seems that the device is reporting no problem.
Here is the code in question:
if (pSS->GetVIPVersion () == 3)
{
for (i = 0; i < numPens; i++, pStr += 4)
{
switch (*pStr)
{
{
}
...
Here, *(pStr+1) is '0' in each case, i.e. 0x40. This means that the test (0x40 & 0xf3) > 1 is true -- and in fact it will be for any digit.
Shouldn't it be something like this?: *(pStr+1) & 0xf3) > '1'
i.e. with single quotes around the 1 so that the test compares against 0x41 and not 0x01?
The lack of comments leaves me guessing somewhat. ;-)
Original bug report:
https:/