diff -up cups-1.4.4/systemv/lpstat.c.lpstat-p-zero cups-1.4.4/systemv/lpstat.c --- cups-1.4.4/systemv/lpstat.c.lpstat-p-zero 2010-05-05 17:58:39.000000000 +0200 +++ cups-1.4.4/systemv/lpstat.c 2010-07-26 15:43:51.000000000 +0200 @@ -1536,7 +1536,8 @@ show_printers(const char *printers, /* }; static const char *jattrs[] = /* Attributes we need for jobs... */ { - "job-id" + "job-id", + "job-state" }; @@ -1591,7 +1592,7 @@ show_printers(const char *printers, /* for (attr = response->attrs; attr != NULL; attr = attr->next) { /* - * Skip leading attributes until we hit a job... + * Skip leading attributes until we hit a printer... */ while (attr != NULL && attr->group_tag != IPP_TAG_PRINTER) @@ -1601,7 +1602,7 @@ show_printers(const char *printers, /* break; /* - * Pull the needed attributes from this job... + * Pull the needed attributes from this printer... */ printer = NULL; @@ -1734,7 +1735,7 @@ show_printers(const char *printers, /* jobid = jobattr->values[0].integer; else if (!strcmp(jobattr->name, "job-state") && jobattr->value_tag == IPP_TAG_ENUM) - jobstate = jobattr->values[0].integer; + jobstate = (ipp_jstate_t)jobattr->values[0].integer; } if (jobstate != IPP_JOB_PROCESSING)