From: Michael R Sweet Date: Sat, 24 Jan 2026 22:16:10 +0000 (-0500) Subject: Refactor _ipp_request_t to avoid issues on embedded platforms with newer C compilers. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3318e26bda716fea16ce99cc83d9d12e75262d93;p=thirdparty%2Fcups.git Refactor _ipp_request_t to avoid issues on embedded platforms with newer C compilers. --- diff --git a/backend/ipp.c b/backend/ipp.c index 8311a1cf97..6221af11d8 100644 --- a/backend/ipp.c +++ b/backend/ipp.c @@ -2845,9 +2845,9 @@ new_request( ippSetVersion(request, version / 10, version % 10); fprintf(stderr, "DEBUG: %s IPP/%d.%d\n", - ippOpString(request->request.op.operation_id), - request->request.op.version[0], - request->request.op.version[1]); + ippOpString(request->request.op_status), + request->request.version[0], + request->request.version[1]); /* * Add standard attributes... diff --git a/berkeley/lpq.c b/berkeley/lpq.c index b47f99cb4b..02500c9d7c 100644 --- a/berkeley/lpq.c +++ b/berkeley/lpq.c @@ -404,7 +404,7 @@ show_jobs(const char *command, /* I - Command name */ if ((response = cupsDoRequest(http, request, "/")) != NULL) { - if (response->request.status.status_code > IPP_STATUS_OK_CONFLICTING) + if (cupsGetError() > IPP_STATUS_OK_CONFLICTING) { _cupsLangPrintf(stderr, "%s: %s", command, cupsGetErrorString()); ippDelete(response); @@ -595,7 +595,7 @@ show_printer(const char *command, /* I - Command name */ if ((response = cupsDoRequest(http, request, "/")) != NULL) { - if (response->request.status.status_code > IPP_STATUS_OK_CONFLICTING) + if (cupsGetError() > IPP_STATUS_OK_CONFLICTING) { _cupsLangPrintf(stderr, "%s: %s", command, cupsGetErrorString()); ippDelete(response); diff --git a/cups/getdevices.c b/cups/getdevices.c index 363144e29f..15cdba43da 100644 --- a/cups/getdevices.c +++ b/cups/getdevices.c @@ -246,10 +246,9 @@ cupsGetDevices( attr = ippFindAttribute(response, "status-message", IPP_TAG_TEXT); - DEBUG_printf("cupsGetDevices: status-code=%s, status-message=\"%s\"", ippErrorString(response->request.status.status_code), attr ? attr->values[0].string.text : ""); + DEBUG_printf("cupsGetDevices: status-code=%s, status-message=\"%s\"", ippErrorString(response->request.op_status), attr ? attr->values[0].string.text : ""); - _cupsSetError(response->request.status.status_code, - attr ? attr->values[0].string.text : ippErrorString(response->request.status.status_code), 0); + _cupsSetError(response->request.op_status, attr ? attr->values[0].string.text : ippErrorString(response->request.op_status), 0); ippDelete(response); diff --git a/cups/ipp-private.h b/cups/ipp-private.h index 86e412792b..3c7f2fedae 100644 --- a/cups/ipp-private.h +++ b/cups/ipp-private.h @@ -30,35 +30,11 @@ extern "C" { // Structures... // -typedef union _ipp_request_u // Request Header +typedef struct _ipp_request_s // Message Header { - struct // Any Header - { - ipp_uchar_t version[2]; // Protocol version number - int op_status; // Operation ID or status code - int request_id; // Request ID - } any; - - struct // Operation Header - { - ipp_uchar_t version[2]; // Protocol version number - ipp_op_t operation_id; // Operation ID - int request_id; // Request ID - } op; - - struct // Status Header - { - ipp_uchar_t version[2]; // Protocol version number - ipp_status_t status_code; // Status code - int request_id; // Request ID - } status; - - struct // Event Header - { - ipp_uchar_t version[2]; // Protocol version number - ipp_status_t status_code; // Status code - int request_id; // Request ID - } event; + ipp_uchar_t version[2]; // Protocol version number + short op_status; // Operation ID or status code + int request_id; // Request ID } _ipp_request_t; typedef union _ipp_value_u // Attribute Value diff --git a/cups/ipp.c b/cups/ipp.c index d2b8d6eaed..183dc1ceeb 100644 --- a/cups/ipp.c +++ b/cups/ipp.c @@ -2241,7 +2241,7 @@ ippGetOperation(ipp_t *ipp) // I - IPP request message return ((ipp_op_t)0); // Return the value... - return (ipp->request.op.operation_id); + return ((ipp_op_t)ipp->request.op_status); } @@ -2290,7 +2290,7 @@ ippGetRequestId(ipp_t *ipp) // I - IPP message return (0); // Return the request ID... - return (ipp->request.any.request_id); + return (ipp->request.request_id); } @@ -2365,7 +2365,7 @@ ippGetStatusCode(ipp_t *ipp) // I - IPP response or event message return (IPP_STATUS_ERROR_INTERNAL); // Return the value... - return (ipp->request.status.status_code); + return ((ipp_status_t)ipp->request.op_status); } @@ -2439,9 +2439,9 @@ ippGetVersion(ipp_t *ipp, // I - IPP message // Return the value... if (minor) - *minor = ipp->request.any.version[1]; + *minor = ipp->request.version[1]; - return (ipp->request.any.version[0]); + return (ipp->request.version[0]); } @@ -2493,10 +2493,10 @@ ippNew(void) if (!cg->client_conf_loaded) _cupsSetDefaults(); - temp->request.any.version[0] = (ipp_uchar_t)(cg->server_version / 10); - temp->request.any.version[1] = (ipp_uchar_t)(cg->server_version % 10); - temp->use = 1; - temp->find = temp->fstack; + temp->request.version[0] = (ipp_uchar_t)(cg->server_version / 10); + temp->request.version[1] = (ipp_uchar_t)(cg->server_version % 10); + temp->use = 1; + temp->find = temp->fstack; } DEBUG_printf("1ippNew: Returning %p", (void *)temp); @@ -2534,8 +2534,8 @@ ippNewRequest(ipp_op_t op) // I - Operation code // Set the operation and request ID... cupsMutexLock(&request_mutex); - request->request.op.operation_id = op; - request->request.op.request_id = ++request_id; + request->request.op_status = (short)op; + request->request.request_id = ++request_id; cupsMutexUnlock(&request_mutex); @@ -2581,9 +2581,9 @@ ippNewResponse(ipp_t *request) // I - IPP request message return (NULL); // Copy the request values over to the response... - response->request.status.version[0] = request->request.op.version[0]; - response->request.status.version[1] = request->request.op.version[1]; - response->request.status.request_id = request->request.op.request_id; + response->request.version[0] = request->request.version[0]; + response->request.version[1] = request->request.version[1]; + response->request.request_id = request->request.request_id; // The first attribute MUST be attributes-charset... attr = request->attrs; @@ -3035,7 +3035,7 @@ ippSetOperation(ipp_t *ipp, // I - IPP request message return (0); // Set the operation and return... - ipp->request.op.operation_id = op; + ipp->request.op_status = (short)op; return (1); } @@ -3103,7 +3103,7 @@ ippSetRequestId(ipp_t *ipp, // I - IPP message return (0); // Set the request ID and return... - ipp->request.any.request_id = request_id; + ipp->request.request_id = request_id; return (1); } @@ -3192,7 +3192,7 @@ ippSetStatusCode(ipp_t *ipp, // I - IPP response or event message return (0); // Set the status code and return... - ipp->request.status.status_code = status; + ipp->request.op_status = (short)status; return (1); } @@ -3590,8 +3590,8 @@ ippSetVersion(ipp_t *ipp, // I - IPP message return (0); // Set the version number... - ipp->request.any.version[0] = (ipp_uchar_t)major; - ipp->request.any.version[1] = (ipp_uchar_t)minor; + ipp->request.version[0] = (ipp_uchar_t)major; + ipp->request.version[1] = (ipp_uchar_t)minor; return (1); } @@ -4258,18 +4258,18 @@ ippWriteIO(void *dst, // I - Destination // Total = 8 bytes bufptr = buffer; - *bufptr++ = ipp->request.any.version[0]; - *bufptr++ = ipp->request.any.version[1]; - *bufptr++ = (ipp_uchar_t)(ipp->request.any.op_status >> 8); - *bufptr++ = (ipp_uchar_t)ipp->request.any.op_status; - *bufptr++ = (ipp_uchar_t)(ipp->request.any.request_id >> 24); - *bufptr++ = (ipp_uchar_t)(ipp->request.any.request_id >> 16); - *bufptr++ = (ipp_uchar_t)(ipp->request.any.request_id >> 8); - *bufptr++ = (ipp_uchar_t)ipp->request.any.request_id; + *bufptr++ = ipp->request.version[0]; + *bufptr++ = ipp->request.version[1]; + *bufptr++ = (ipp_uchar_t)(ipp->request.op_status >> 8); + *bufptr++ = (ipp_uchar_t)ipp->request.op_status; + *bufptr++ = (ipp_uchar_t)(ipp->request.request_id >> 24); + *bufptr++ = (ipp_uchar_t)(ipp->request.request_id >> 16); + *bufptr++ = (ipp_uchar_t)(ipp->request.request_id >> 8); + *bufptr++ = (ipp_uchar_t)ipp->request.request_id; DEBUG_printf("2ippWriteIO: version=%d.%d", buffer[0], buffer[1]); - DEBUG_printf("2ippWriteIO: op_status=%04x", ipp->request.any.op_status); - DEBUG_printf("2ippWriteIO: request_id=%d", ipp->request.any.request_id); + DEBUG_printf("2ippWriteIO: op_status=%04x", ipp->request.op_status); + DEBUG_printf("2ippWriteIO: request_id=%d", ipp->request.request_id); if ((*cb)(dst, buffer, (size_t)(bufptr - buffer)) < 0) { @@ -5431,14 +5431,14 @@ ipp_read_io(void *src, // I - Data source } // Then copy the request header over... - ipp->request.any.version[0] = buffer[0]; - ipp->request.any.version[1] = buffer[1]; - ipp->request.any.op_status = (buffer[2] << 8) | buffer[3]; - ipp->request.any.request_id = (buffer[4] << 24) | (buffer[5] << 16) | (buffer[6] << 8) | buffer[7]; + ipp->request.version[0] = buffer[0]; + ipp->request.version[1] = buffer[1]; + ipp->request.op_status = (short)((buffer[2] << 8) | buffer[3]); + ipp->request.request_id = (buffer[4] << 24) | (buffer[5] << 16) | (buffer[6] << 8) | buffer[7]; DEBUG_printf("2ipp_read_io: version=%d.%d", buffer[0], buffer[1]); - DEBUG_printf("2ipp_read_io: op_status=%04x", ipp->request.any.op_status); - DEBUG_printf("2ipp_read_io: request_id=%d", ipp->request.any.request_id); + DEBUG_printf("2ipp_read_io: op_status=%04x", ipp->request.op_status); + DEBUG_printf("2ipp_read_io: request_id=%d", ipp->request.request_id); } ipp->state = IPP_STATE_ATTRIBUTE; diff --git a/cups/request.c b/cups/request.c index 26483c9c7d..1b65d5e7c7 100644 --- a/cups/request.c +++ b/cups/request.c @@ -1,7 +1,7 @@ /* * IPP utilities for CUPS. * - * Copyright © 2020-2025 by OpenPrinting. + * Copyright © 2020-2026 by OpenPrinting. * Copyright © 2007-2018 by Apple Inc. * Copyright © 1997-2007 by Easy Software Products. * @@ -46,7 +46,7 @@ cupsDoFileRequest(http_t *http, /* I - Connection to server or @code CUPS_HT int infile; /* Input file */ - DEBUG_printf("cupsDoFileRequest(http=%p, request=%p(%s), resource=\"%s\", filename=\"%s\")", (void *)http, (void *)request, request ? ippOpString(request->request.op.operation_id) : "?", resource, filename); + DEBUG_printf("cupsDoFileRequest(http=%p, request=%p(%s), resource=\"%s\", filename=\"%s\")", (void *)http, (void *)request, request ? ippOpString(request->request.op_status) : "?", resource, filename); if (filename) { @@ -112,7 +112,7 @@ cupsDoIORequest(http_t *http, /* I - Connection to server or @code CUPS_HTTP char buffer[32768]; /* Output buffer */ - DEBUG_printf("cupsDoIORequest(http=%p, request=%p(%s), resource=\"%s\", infile=%d, outfile=%d)", (void *)http, (void *)request, request ? ippOpString(request->request.op.operation_id) : "?", resource, infile, outfile); + DEBUG_printf("cupsDoIORequest(http=%p, request=%p(%s), resource=\"%s\", infile=%d, outfile=%d)", (void *)http, (void *)request, request ? ippOpString(request->request.op_status) : "?", resource, infile, outfile); /* * Range check input... @@ -291,7 +291,7 @@ cupsDoRequest(http_t *http, /* I - Connection to server or @code CUPS_HTTP_ ipp_t *request, /* I - IPP request */ const char *resource) /* I - HTTP resource for POST */ { - DEBUG_printf("cupsDoRequest(http=%p, request=%p(%s), resource=\"%s\")", (void *)http, (void *)request, request ? ippOpString(request->request.op.operation_id) : "?", resource); + DEBUG_printf("cupsDoRequest(http=%p, request=%p(%s), resource=\"%s\")", (void *)http, (void *)request, request ? ippOpString(request->request.op_status) : "?", resource); return (cupsDoIORequest(http, request, resource, -1, -1)); } @@ -480,11 +480,9 @@ cupsGetResponse(http_t *http, /* I - Connection to server or @code CUPS_HTTP attr = ippFindAttribute(response, "status-message", IPP_TAG_TEXT); - DEBUG_printf("1cupsGetResponse: status-code=%s, status-message=\"%s\"", ippErrorString(response->request.status.status_code), attr ? attr->values[0].string.text : ""); + DEBUG_printf("1cupsGetResponse: status-code=%s, status-message=\"%s\"", ippErrorString(response->request.op_status), attr ? attr->values[0].string.text : ""); - _cupsSetError(response->request.status.status_code, - attr ? attr->values[0].string.text : - ippErrorString(response->request.status.status_code), 0); + _cupsSetError(response->request.op_status, attr ? attr->values[0].string.text : ippErrorString(response->request.op_status), 0); } return (response); @@ -621,7 +619,7 @@ cupsSendRequest(http_t *http, /* I - Connection to server or @code CUPS_HTTP int digest; /* Are we using Digest authentication? */ - DEBUG_printf("cupsSendRequest(http=%p, request=%p(%s), resource=\"%s\", length=" CUPS_LLFMT ")", (void *)http, (void *)request, request ? ippOpString(request->request.op.operation_id) : "?", resource, CUPS_LLCAST length); + DEBUG_printf("cupsSendRequest(http=%p, request=%p(%s), resource=\"%s\", length=" CUPS_LLFMT ")", (void *)http, (void *)request, request ? ippOpString(request->request.op_status) : "?", resource, CUPS_LLCAST length); /* * Range check input... diff --git a/cups/testipp.c b/cups/testipp.c index 01db42bf5e..41f3d91162 100644 --- a/cups/testipp.c +++ b/cups/testipp.c @@ -327,10 +327,10 @@ main(int argc, // I - Number of command-line arguments testBegin("Create Sample Request"); request = ippNew(); - request->request.op.version[0] = 0x01; - request->request.op.version[1] = 0x01; - request->request.op.operation_id = IPP_OP_PRINT_JOB; - request->request.op.request_id = 1; + request->request.version[0] = 0x01; + request->request.version[1] = 0x01; + request->request.op_status = IPP_OP_PRINT_JOB; + request->request.request_id = 1; ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET, "attributes-charset", NULL, "utf-8"); diff --git a/scheduler/client.c b/scheduler/client.c index 31c376f21d..22754a216b 100644 --- a/scheduler/client.c +++ b/scheduler/client.c @@ -1709,10 +1709,10 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */ else { cupsdLogClient(con, CUPSD_LOG_DEBUG, "%d.%d %s %d", - con->request->request.op.version[0], - con->request->request.op.version[1], - ippOpString(con->request->request.op.operation_id), - con->request->request.op.request_id); + con->request->request.version[0], + con->request->request.version[1], + ippOpString(con->request->request.op_status), + con->request->request.request_id); con->bytes += (off_t)ippGetLength(con->request); } } diff --git a/scheduler/ipp.c b/scheduler/ipp.c index 3e75e62c24..9368ee5aa1 100644 --- a/scheduler/ipp.c +++ b/scheduler/ipp.c @@ -177,35 +177,31 @@ cupsdProcessIPPRequest( * First build an empty response message for this request... */ - con->response = ippNew(); - - con->response->request.status.version[0] = con->request->request.op.version[0]; - con->response->request.status.version[1] = con->request->request.op.version[1]; - con->response->request.status.request_id = con->request->request.op.request_id; + con->response = ippNewResponse(con->request); /* * Then validate the request header and required attributes... */ - if (con->request->request.any.version[0] != 1 && con->request->request.any.version[0] != 2) + if (con->request->request.version[0] != 1 && con->request->request.version[0] != 2) { /* * Return an error, since we only support IPP 1.x and 2.x. */ - cupsdAddEvent(CUPSD_EVENT_SERVER_AUDIT, NULL, NULL, "%04X %s Bad request version number %d.%d.", IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED, con->http->hostname, con->request->request.any.version[0], con->request->request.any.version[1]); + cupsdAddEvent(CUPSD_EVENT_SERVER_AUDIT, NULL, NULL, "%04X %s Bad request version number %d.%d.", IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED, con->http->hostname, con->request->request.version[0], con->request->request.version[1]); - send_ipp_status(con, IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED, _("Bad request version number %d.%d."), con->request->request.any.version[0], con->request->request.any.version[1]); + send_ipp_status(con, IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED, _("Bad request version number %d.%d."), con->request->request.version[0], con->request->request.version[1]); } - else if (con->request->request.any.request_id < 1) + else if (con->request->request.request_id < 1) { /* * Return an error, since request IDs must be between 1 and 2^31-1 */ - cupsdAddEvent(CUPSD_EVENT_SERVER_AUDIT, NULL, NULL, "%04X %s Bad request ID %d.", IPP_STATUS_ERROR_BAD_REQUEST, con->http->hostname, con->request->request.any.request_id); + cupsdAddEvent(CUPSD_EVENT_SERVER_AUDIT, NULL, NULL, "%04X %s Bad request ID %d.", IPP_STATUS_ERROR_BAD_REQUEST, con->http->hostname, con->request->request.request_id); - send_ipp_status(con, IPP_STATUS_ERROR_BAD_REQUEST, _("Bad request ID %d."), con->request->request.any.request_id); + send_ipp_status(con, IPP_STATUS_ERROR_BAD_REQUEST, _("Bad request ID %d."), con->request->request.request_id); } else if (!con->request->attrs) { @@ -278,7 +274,7 @@ cupsdProcessIPPRequest( uri = attr; else if ((attr = ippFindAttribute(con->request, "job-uri", IPP_TAG_URI)) != NULL && attr->group_tag == IPP_TAG_OPERATION) uri = attr; - else if (con->request->request.op.operation_id == IPP_OP_CUPS_GET_PPD && (attr = ippFindAttribute(con->request, "ppd-name", IPP_TAG_NAME)) != NULL && attr->group_tag == IPP_TAG_OPERATION) + else if (con->request->request.op_status == IPP_OP_CUPS_GET_PPD && (attr = ippFindAttribute(con->request, "ppd-name", IPP_TAG_NAME)) != NULL && attr->group_tag == IPP_TAG_OPERATION) uri = attr; else uri = NULL; @@ -305,11 +301,11 @@ cupsdProcessIPPRequest( } else if (!charset || !language || (!uri && - con->request->request.op.operation_id != IPP_OP_CUPS_GET_DEFAULT && - con->request->request.op.operation_id != IPP_OP_CUPS_GET_PRINTERS && - con->request->request.op.operation_id != IPP_OP_CUPS_GET_CLASSES && - con->request->request.op.operation_id != IPP_OP_CUPS_GET_DEVICES && - con->request->request.op.operation_id != IPP_OP_CUPS_GET_PPDS)) + con->request->request.op_status != IPP_OP_CUPS_GET_DEFAULT && + con->request->request.op_status != IPP_OP_CUPS_GET_PRINTERS && + con->request->request.op_status != IPP_OP_CUPS_GET_CLASSES && + con->request->request.op_status != IPP_OP_CUPS_GET_DEVICES && + con->request->request.op_status != IPP_OP_CUPS_GET_PPDS)) { /* * Return an error, since attributes-charset, @@ -442,7 +438,7 @@ cupsdProcessIPPRequest( * Try processing the operation... */ - switch (con->request->request.op.operation_id) + switch (con->request->request.op_status) { case IPP_OP_PRINT_JOB : print_job(con, uri); @@ -622,9 +618,9 @@ cupsdProcessIPPRequest( break; default : - cupsdAddEvent(CUPSD_EVENT_SERVER_AUDIT, NULL, NULL, "%04X %s Operation %04X (%s) not supported.", IPP_STATUS_ERROR_OPERATION_NOT_SUPPORTED, con->http->hostname, con->request->request.op.operation_id, ippOpString(con->request->request.op.operation_id)); + cupsdAddEvent(CUPSD_EVENT_SERVER_AUDIT, NULL, NULL, "%04X %s Operation %04X (%s) not supported.", IPP_STATUS_ERROR_OPERATION_NOT_SUPPORTED, con->http->hostname, con->request->request.op_status, ippOpString(con->request->request.op_status)); - send_ipp_status(con, IPP_STATUS_ERROR_OPERATION_NOT_SUPPORTED, _("%s not supported."), ippOpString(con->request->request.op.operation_id)); + send_ipp_status(con, IPP_STATUS_ERROR_OPERATION_NOT_SUPPORTED, _("%s not supported."), ippOpString(con->request->request.op_status)); break; } } @@ -761,7 +757,7 @@ accept_jobs(cupsd_client_t *con, /* I - Client connection */ * Everything was ok, so return OK status... */ - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; } @@ -1068,7 +1064,7 @@ add_class(cupsd_client_t *con, /* I - Client connection */ cupsdLogClient(con, CUPSD_LOG_INFO, "New class \"%s\" added by \"%s\".", pclass->name, get_username(con)); } - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; } @@ -1532,7 +1528,7 @@ add_job(cupsd_client_t *con, /* I - Client connection */ job->dtype = printer->type & (CUPS_PTYPE_CLASS | CUPS_PTYPE_REMOTE); job->attrs = con->request; job->dirty = 1; - con->request = ippNewRequest(job->attrs->request.op.operation_id); + con->request = ippNewRequest(job->attrs->request.op_status); cupsdMarkDirty(CUPSD_DIRTY_JOBS); @@ -1695,7 +1691,7 @@ add_job(cupsd_client_t *con, /* I - Client connection */ ippSetString(job->attrs, &job->reasons, 0, "job-hold-until-specified"); } - else if (job->attrs->request.op.operation_id == IPP_OP_CREATE_JOB) + else if (job->attrs->request.op_status == IPP_OP_CREATE_JOB) { job->hold_until = time(NULL) + MultipleOperationTimeout; job->state->values[0].integer = IPP_JSTATE_HELD; @@ -1819,7 +1815,7 @@ add_job(cupsd_client_t *con, /* I - Client connection */ ippAddString(con->response, IPP_TAG_JOB, IPP_TAG_TEXT, "job-state-message", NULL, ""); ippAddString(con->response, IPP_TAG_JOB, IPP_TAG_KEYWORD, "job-state-reasons", NULL, job->reasons->values[0].string.text); - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; /* * Add any job subscriptions... @@ -2763,7 +2759,7 @@ add_printer(cupsd_client_t *con, /* I - Client connection */ cupsdLogClient(con, CUPSD_LOG_INFO, "New printer \"%s\" added by \"%s\".", printer->name, get_username(con)); } - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; } @@ -2891,7 +2887,7 @@ authenticate_job(cupsd_client_t *con, /* I - Client connection */ * Start with "everything is OK" status... */ - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; /* * See if we have a job URI or a printer URI... @@ -3067,7 +3063,7 @@ cancel_all_jobs(cupsd_client_t *con, /* I - Client connection */ * Get the jobs to cancel/purge... */ - switch (con->request->request.op.operation_id) + switch (con->request->request.op_status) { case IPP_OP_PURGE_JOBS : /* @@ -3171,7 +3167,7 @@ cancel_all_jobs(cupsd_client_t *con, /* I - Client connection */ if ((job = cupsdFindJob(job_ids->values[i].integer)) == NULL) break; - if (con->request->request.op.operation_id == IPP_OP_CANCEL_MY_JOBS && + if (con->request->request.op_status == IPP_OP_CANCEL_MY_JOBS && _cups_strcasecmp(job->username, username)) break; } @@ -3226,7 +3222,7 @@ cancel_all_jobs(cupsd_client_t *con, /* I - Client connection */ _cups_strcasecmp(job->dest, printer->name)) break; - if (con->request->request.op.operation_id == IPP_OP_CANCEL_MY_JOBS && + if (con->request->request.op_status == IPP_OP_CANCEL_MY_JOBS && _cups_strcasecmp(job->username, username)) break; } @@ -3261,7 +3257,7 @@ cancel_all_jobs(cupsd_client_t *con, /* I - Client connection */ } } - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; cupsdCheckJobs(); } @@ -3465,7 +3461,7 @@ cancel_job(cupsd_client_t *con, /* I - Client connection */ else cupsdLogClient(con, CUPSD_LOG_INFO, "[Job %d] Canceled by \"%s\".", jobid, username); - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; } @@ -3515,7 +3511,7 @@ cancel_subscription( cupsdDeleteSubscription(sub, 1); - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; } @@ -3883,7 +3879,7 @@ close_job(cupsd_client_t *con, /* I - Client connection */ ippAddInteger(con->response, IPP_TAG_JOB, IPP_TAG_ENUM, "job-state", (int)job->state_value); - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; /* * Start the job if necessary... @@ -3958,7 +3954,7 @@ copy_attrs(ipp_t *to, /* I - Destination request */ if (fromattr->value_tag == IPP_TAG_BEGIN_COLLECTION && !ra && - (to->request.status.version[0] == 1 || + (to->request.version[0] == 1 || !strcmp(fromattr->name, "media-col-database"))) continue; @@ -5839,7 +5835,7 @@ create_subscriptions( * Process the subscription attributes in the request... */ - con->response->request.status.status_code = IPP_STATUS_ERROR_BAD_REQUEST; + con->response->request.op_status = IPP_STATUS_ERROR_BAD_REQUEST; while (attr) { @@ -6067,7 +6063,7 @@ create_subscriptions( ippAddSeparator(con->response); copy_subscription_attrs(con, sub, /*ra*/NULL, /*exclude*/NULL); - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; if (attr) attr = attr->next; @@ -6185,7 +6181,7 @@ delete_printer(cupsd_client_t *con, /* I - Client connection */ * Return with no errors... */ - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; } @@ -6218,7 +6214,7 @@ get_default(cupsd_client_t *con) /* I - Client connection */ cupsArrayDelete(ra); - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; } else send_ipp_status(con, IPP_STATUS_ERROR_NOT_FOUND, _("No default printer.")); @@ -6287,7 +6283,7 @@ get_devices(cupsd_client_t *con) /* I - Client connection */ snprintf(command, sizeof(command), "%s/daemon/cups-deviced", ServerBin); snprintf(options, sizeof(options), "%d+%d+%d+%d+%s%s%s%s%s", - con->request->request.op.request_id, + con->request->request.request_id, limit ? limit->values[0].integer : 0, timeout ? timeout->values[0].integer : 15, (int)User, @@ -6569,7 +6565,7 @@ get_job_attrs(cupsd_client_t *con, /* I - Client connection */ copy_job_attrs(con, job, ra, exclude); cupsArrayDelete(ra); - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; } @@ -6968,7 +6964,7 @@ get_jobs(cupsd_client_t *con, /* I - Client connection */ if (delete_list) cupsArrayDelete(list); - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; } @@ -7062,7 +7058,7 @@ get_notifications(cupsd_client_t *con) /* I - Client connection */ * Copy the subscription event attributes to the response. */ - con->response->request.status.status_code = + con->response->request.op_status = interval ? IPP_STATUS_OK : IPP_STATUS_OK_EVENTS_COMPLETE; for (i = 0; i < ids->num_values; i ++) @@ -7387,7 +7383,7 @@ get_ppds(cupsd_client_t *con) /* I - Client connection */ snprintf(command, sizeof(command), "%s/daemon/cups-driverd", ServerBin); snprintf(options, sizeof(options), "list+%d+%d+%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s", - con->request->request.op.request_id, + con->request->request.request_id, limit ? limit->values[0].integer : 0, requested_str, device ? "%20" : "", device_str, @@ -7472,7 +7468,7 @@ get_printer_attrs(cupsd_client_t *con, /* I - Client connection */ cupsArrayDelete(ra); - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; } @@ -7530,7 +7526,7 @@ get_printer_supported( ippAddInteger(con->response, IPP_TAG_PRINTER, IPP_TAG_ADMINDEFINE, "printer-organizational-unit", 0); - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; } @@ -7697,7 +7693,7 @@ get_printers(cupsd_client_t *con, /* I - Client connection */ cupsArrayDelete(ra); - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; } @@ -7766,7 +7762,7 @@ get_subscription_attrs( cupsArrayDelete(ra); - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; } @@ -7929,7 +7925,7 @@ get_subscriptions(cupsd_client_t *con, /* I - Client connection */ cupsArrayDelete(ra); if (count) - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; else send_ipp_status(con, IPP_STATUS_ERROR_NOT_FOUND, _("No subscriptions found.")); } @@ -8087,7 +8083,7 @@ hold_job(cupsd_client_t *con, /* I - Client connection */ cupsdSetJobState(job, IPP_JSTATE_HELD, CUPSD_JOB_DEFAULT, "Job held by \"%s\".", username); - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; } @@ -8146,7 +8142,7 @@ hold_new_jobs(cupsd_client_t *con, /* I - Connection */ * Everything was ok, so return OK status... */ - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; } @@ -8400,7 +8396,7 @@ move_job(cupsd_client_t *con, /* I - Client connection */ * Return with "everything is OK" status... */ - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; } @@ -9002,7 +8998,7 @@ reject_jobs(cupsd_client_t *con, /* I - Client connection */ * Everything was ok, so return OK status... */ - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; } @@ -9064,7 +9060,7 @@ release_held_new_jobs( * Everything was ok, so return OK status... */ - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; } @@ -9198,7 +9194,7 @@ release_job(cupsd_client_t *con, /* I - Client connection */ cupsdLogJob(job, CUPSD_LOG_INFO, "Released by \"%s\".", username); - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; cupsdCheckJobs(); } @@ -9277,7 +9273,7 @@ renew_subscription( cupsdMarkDirty(CUPSD_DIRTY_SUBSCRIPTIONS); - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; ippAddInteger(con->response, IPP_TAG_SUBSCRIPTION, IPP_TAG_INTEGER, "notify-lease-duration", sub->lease); @@ -9439,7 +9435,7 @@ restart_job(cupsd_client_t *con, /* I - Client connection */ cupsdLogJob(job, CUPSD_LOG_INFO, "Restarted by \"%s\".", username); - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; } @@ -10018,7 +10014,7 @@ send_document(cupsd_client_t *con, /* I - Client connection */ ippAddInteger(con->response, IPP_TAG_JOB, IPP_TAG_ENUM, "job-state", (int)job->state_value); ippAddString(con->response, IPP_TAG_JOB, IPP_TAG_KEYWORD, "job-state-reasons", NULL, job->reasons->values[0].string.text); - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; /* * Start the job if necessary... @@ -10046,7 +10042,7 @@ send_http_error( IPP_TAG_URI)) == NULL) uri = ippFindAttribute(con->request, "job-uri", IPP_TAG_URI); - cupsdLogClient(con, status == HTTP_STATUS_FORBIDDEN ? CUPSD_LOG_ERROR : CUPSD_LOG_DEBUG, "Returning HTTP %s for %s (%s) from %s.", httpStatus(status), con->request ? ippOpString(con->request->request.op.operation_id) : "no operation-id", uri ? uri->values[0].string.text : "no URI", con->http->hostname); + cupsdLogClient(con, status == HTTP_STATUS_FORBIDDEN ? CUPSD_LOG_ERROR : CUPSD_LOG_DEBUG, "Returning HTTP %s for %s (%s) from %s.", httpStatus(status), con->request ? ippOpString(con->request->request.op_status) : "no operation-id", uri ? uri->values[0].string.text : "no URI", con->http->hostname); if (printer) { @@ -10059,9 +10055,9 @@ send_http_error( printer->num_auth_info_required > 0 && !strcmp(printer->auth_info_required[0], "negotiate") && con->request && - (con->request->request.op.operation_id == IPP_OP_PRINT_JOB || - con->request->request.op.operation_id == IPP_OP_CREATE_JOB || - con->request->request.op.operation_id == IPP_OP_CUPS_AUTHENTICATE_JOB)) + (con->request->request.op_status == IPP_OP_PRINT_JOB || + con->request->request.op_status == IPP_OP_CREATE_JOB || + con->request->request.op_status == IPP_OP_CUPS_AUTHENTICATE_JOB)) { /* * Creating and authenticating jobs requires Kerberos... @@ -10088,7 +10084,7 @@ send_http_error( auth->type == CUPSD_AUTH_NONE) auth = cupsdFindPolicyOp(printer->op_policy_ptr, con->request ? - con->request->request.op.operation_id : + con->request->request.op_status : IPP_OP_PRINT_JOB); if (auth) @@ -10131,9 +10127,9 @@ send_ipp_status(cupsd_client_t *con, /* I - Client connection */ _cupsLangString(con->language, message), ap); va_end(ap); - cupsdLogClient(con, CUPSD_LOG_DEBUG, "%s %s: %s", ippOpString(con->request->request.op.operation_id), ippErrorString(status), formatted); + cupsdLogClient(con, CUPSD_LOG_DEBUG, "%s %s: %s", ippOpString(con->request->request.op_status), ippErrorString(status), formatted); - con->response->request.status.status_code = status; + con->response->request.op_status = (short)status; if (ippFindAttribute(con->response, "attributes-charset", IPP_TAG_ZERO) == NULL) @@ -10171,7 +10167,7 @@ send_response(cupsd_client_t *con) /* I - Client */ uri = ippFindAttribute(con->request, "ppd-name", IPP_TAG_NAME); } - cupsdLogClient(con, con->response->request.status.status_code >= IPP_STATUS_ERROR_BAD_REQUEST && con->response->request.status.status_code != IPP_STATUS_ERROR_NOT_FOUND ? CUPSD_LOG_ERROR : CUPSD_LOG_DEBUG, "Returning IPP %s for %s (%s) from %s.", ippErrorString(con->response->request.status.status_code), ippOpString(con->request->request.op.operation_id), uri ? uri->values[0].string.text : "no URI", con->http->hostname); + cupsdLogClient(con, con->response->request.op_status >= IPP_STATUS_ERROR_BAD_REQUEST && con->response->request.op_status != IPP_STATUS_ERROR_NOT_FOUND ? CUPSD_LOG_ERROR : CUPSD_LOG_DEBUG, "Returning IPP %s for %s (%s) from %s.", ippErrorString(con->response->request.op_status), ippOpString(con->request->request.op_status), uri ? uri->values[0].string.text : "no URI", con->http->hostname); httpClearFields(con->http); @@ -10288,7 +10284,7 @@ set_default(cupsd_client_t *con, /* I - Client connection */ * Everything was ok, so return OK status... */ - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; } @@ -10321,7 +10317,7 @@ set_job_attrs(cupsd_client_t *con, /* I - Client connection */ * Start with "everything is OK" status... */ - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; /* * See if we have a job URI or a printer URI... @@ -10509,7 +10505,7 @@ set_job_attrs(cupsd_client_t *con, /* I - Client connection */ _("Job is completed and cannot be changed.")); return; } - else if (con->response->request.status.status_code == IPP_STATUS_OK) + else if (con->response->request.op_status == IPP_STATUS_OK) { cupsdLogJob(job, CUPSD_LOG_DEBUG, "Setting job-priority to %d", attr->values[0].integer); @@ -10545,7 +10541,7 @@ set_job_attrs(cupsd_client_t *con, /* I - Client connection */ _("Job state cannot be changed.")); return; } - else if (con->response->request.status.status_code == IPP_STATUS_OK) + else if (con->response->request.op_status == IPP_STATUS_OK) { cupsdLogJob(job, CUPSD_LOG_DEBUG, "Setting job-state to %d", attr->values[0].integer); @@ -10573,7 +10569,7 @@ set_job_attrs(cupsd_client_t *con, /* I - Client connection */ _("Job state cannot be changed.")); return; } - else if (con->response->request.status.status_code == IPP_STATUS_OK) + else if (con->response->request.op_status == IPP_STATUS_OK) { cupsdLogJob(job, CUPSD_LOG_DEBUG, "Setting job-state to %d", attr->values[0].integer); @@ -10586,7 +10582,7 @@ set_job_attrs(cupsd_client_t *con, /* I - Client connection */ } } } - else if (con->response->request.status.status_code != IPP_STATUS_OK) + else if (con->response->request.op_status != IPP_STATUS_OK) continue; else if ((attr2 = ippFindAttribute(job->attrs, attr->name, IPP_TAG_ZERO)) != NULL) @@ -10773,7 +10769,7 @@ set_printer_attrs(cupsd_client_t *con, /* I - Client connection */ cupsdLogClient(con, CUPSD_LOG_INFO, "Printer \"%s\" description or location changed by \"%s\".", printer->name, get_username(con)); } - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; } @@ -11115,7 +11111,7 @@ start_printer(cupsd_client_t *con, /* I - Client connection */ * Everything was ok, so return OK status... */ - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; } @@ -11182,7 +11178,7 @@ stop_printer(cupsd_client_t *con, /* I - Client connection */ * Everything was ok, so return OK status... */ - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; } @@ -11505,7 +11501,7 @@ validate_job(cupsd_client_t *con, /* I - Client connection */ * Everything was ok, so return OK status... */ - con->response->request.status.status_code = IPP_STATUS_OK; + con->response->request.op_status = IPP_STATUS_OK; } diff --git a/scheduler/job.c b/scheduler/job.c index 7eff88bf54..03da0d9606 100644 --- a/scheduler/job.c +++ b/scheduler/job.c @@ -293,7 +293,7 @@ cupsdCheckJobs(void) con; con = (cupsd_client_t *)cupsArrayNext(Clients)) if (con->request && - con->request->request.op.operation_id == IPP_OP_SEND_DOCUMENT) + con->request->request.op_status == IPP_OP_SEND_DOCUMENT) break; if (con) diff --git a/scheduler/log.c b/scheduler/log.c index 159a8313aa..90fd549826 100644 --- a/scheduler/log.c +++ b/scheduler/log.c @@ -1152,14 +1152,14 @@ cupsdLogRequest(cupsd_client_t *con, /* I - Request to log */ return (1); if (con->request && con->response && - (con->response->request.status.status_code < IPP_STATUS_REDIRECTION_OTHER_SITE || - con->response->request.status.status_code == IPP_STATUS_ERROR_NOT_FOUND)) + (con->response->request.op_status < IPP_STATUS_REDIRECTION_OTHER_SITE || + con->response->request.op_status == IPP_STATUS_ERROR_NOT_FOUND)) { /* * Check successful requests... */ - ipp_op_t op = con->request->request.op.operation_id; + ipp_op_t op = con->request->request.op_status; static cupsd_accesslog_t standard_ops[] = { CUPSD_ACCESSLOG_ALL, /* reserved */ @@ -1261,9 +1261,9 @@ cupsdLogRequest(cupsd_client_t *con, /* I - Request to log */ con->http->version / 100, con->http->version % 100, code, CUPS_LLCAST con->bytes, con->request ? - ippOpString(con->request->request.op.operation_id) : "-", + ippOpString(con->request->request.op_status) : "-", con->response ? - ippErrorString(con->response->request.status.status_code) : "-"); + ippErrorString(con->response->request.op_status) : "-"); return (1); } @@ -1290,9 +1290,9 @@ cupsdLogRequest(cupsd_client_t *con, /* I - Request to log */ con->http->version / 100, con->http->version % 100, code, CUPS_LLCAST con->bytes, con->request ? - ippOpString(con->request->request.op.operation_id) : "-", + ippOpString(con->request->request.op_status) : "-", con->response ? - ippErrorString(con->response->request.status.status_code) : + ippErrorString(con->response->request.op_status) : "-"); cupsFileFlush(AccessFile); diff --git a/scheduler/mime.c b/scheduler/mime.c index 1de91c4191..38629a3c15 100644 --- a/scheduler/mime.c +++ b/scheduler/mime.c @@ -466,7 +466,7 @@ mime_add_fcache( char path[1024]; // Full path to filter - MIME_DEBUG("mime_add_fcache(filtercache=%p, name=\"%s\", filterpath=\"%s\")", filtercache, name, filterpath); + MIME_DEBUG("mime_add_fcache(filtercache=%p, name=\"%s\", filterpath=\"%s\")", (void *)filtercache, name, filterpath); key.name = (char *)name; if ((temp = (_mime_fcache_t *)cupsArrayFind(filtercache, &key)) != NULL) diff --git a/scheduler/policy.c b/scheduler/policy.c index f76f58f0da..404215370b 100644 --- a/scheduler/policy.c +++ b/scheduler/policy.c @@ -125,7 +125,7 @@ cupsdCheckPolicy(cupsd_policy_t *p, /* I - Policy */ * Find a match for the operation... */ - if ((po = cupsdFindPolicyOp(p, con->request->request.op.operation_id)) == NULL) + if ((po = cupsdFindPolicyOp(p, con->request->request.op_status)) == NULL) { cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdCheckPolicy: No matching operation, returning 0."); return (HTTP_STATUS_OK); @@ -288,10 +288,10 @@ cupsdGetPrivateAttrs( #ifdef DEBUG cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdGetPrivateAttrs: %s", - ippOpString(con->request->request.op.operation_id)); + ippOpString(con->request->request.op_status)); #endif /* DEBUG */ - switch (con->request->request.op.operation_id) + switch (con->request->request.op_status) { case IPP_OP_GET_SUBSCRIPTIONS : case IPP_OP_GET_SUBSCRIPTION_ATTRIBUTES : diff --git a/scheduler/printers.c b/scheduler/printers.c index d284b81ba9..389762d0d3 100644 --- a/scheduler/printers.c +++ b/scheduler/printers.c @@ -608,7 +608,7 @@ cupsdCreateCommonData(void) if (*langptr == '_') *tempptr++ = '-'; else - *tempptr++ = tolower(*langptr & 255); + *tempptr++ = (char)tolower(*langptr & 255); } *tempptr = '\0'; diff --git a/systemv/cancel.c b/systemv/cancel.c index 5113f63aef..3bb344c070 100644 --- a/systemv/cancel.c +++ b/systemv/cancel.c @@ -307,8 +307,7 @@ main(int argc, /* I - Number of command-line arguments */ else response = cupsDoRequest(http, request, "/jobs/"); - if (response == NULL || - response->request.status.status_code > IPP_STATUS_OK_CONFLICTING) + if (cupsGetError() > IPP_STATUS_OK_CONFLICTING) { _cupsLangPrintf(stderr, _("%s: %s failed: %s"), argv[0], op == IPP_OP_PURGE_JOBS ? "purge-jobs" : "cancel-job", @@ -370,8 +369,7 @@ main(int argc, /* I - Number of command-line arguments */ response = cupsDoRequest(http, request, "/admin/"); - if (response == NULL || - response->request.status.status_code > IPP_STATUS_OK_CONFLICTING) + if (cupsGetError() > IPP_STATUS_OK_CONFLICTING) { _cupsLangPrintf(stderr, _("%s: %s failed: %s"), argv[0], op == IPP_OP_PURGE_JOBS ? "purge-jobs" : "cancel-job", diff --git a/systemv/lpadmin.c b/systemv/lpadmin.c index 29332c15aa..0337745579 100644 --- a/systemv/lpadmin.c +++ b/systemv/lpadmin.c @@ -928,8 +928,7 @@ delete_printer_from_class( * Do the request and get back a response... */ - if ((response = cupsDoRequest(http, request, "/classes/")) == NULL || - response->request.status.status_code == IPP_STATUS_ERROR_NOT_FOUND) + if ((response = cupsDoRequest(http, request, "/classes/")) == NULL || cupsGetError() == IPP_STATUS_ERROR_NOT_FOUND) { _cupsLangPrintf(stderr, _("%s: %s"), "lpadmin", cupsGetErrorString()); @@ -1283,7 +1282,7 @@ set_printer_options( options = temp; } } - else if (request->request.op.operation_id == IPP_OP_CUPS_ADD_MODIFY_PRINTER) + else if (ippGetOperation(request) == IPP_OP_CUPS_ADD_MODIFY_PRINTER) ppdfile = cupsGetPPD(printer); else ppdfile = NULL; diff --git a/systemv/lpinfo.c b/systemv/lpinfo.c index 32bbaae3b4..7f0c962d1b 100644 --- a/systemv/lpinfo.c +++ b/systemv/lpinfo.c @@ -372,7 +372,7 @@ show_models( * Loop through the device list and display them... */ - if (response->request.status.status_code > IPP_STATUS_OK_CONFLICTING) + if (cupsGetError() > IPP_STATUS_OK_CONFLICTING) { _cupsLangPrintf(stderr, "lpinfo: %s", cupsGetErrorString()); ippDelete(response); diff --git a/systemv/lpstat.c b/systemv/lpstat.c index d2297109ff..57a90e99b0 100644 --- a/systemv/lpstat.c +++ b/systemv/lpstat.c @@ -928,7 +928,7 @@ show_classes(const char *dests) /* I - Destinations */ if (response) { - if (response->request.status.status_code > IPP_STATUS_OK_CONFLICTING) + if (cupsGetError() > IPP_STATUS_OK_CONFLICTING) { _cupsLangPrintf(stderr, "lpstat: %s", cupsGetErrorString()); ippDelete(response); diff --git a/tools/ippeveprinter.c b/tools/ippeveprinter.c index 982103bee4..e931c4cd6e 100644 --- a/tools/ippeveprinter.c +++ b/tools/ippeveprinter.c @@ -1107,7 +1107,7 @@ create_job(ippeve_client_t *client) // I - Client void *dataptr; // octetString pointer int datalen; // Length of octetString - if ((dataptr = ippGetOctetString(attr, 0, &datalen)) != NULL && datalen < (sizeof(job->password) - 1)) + if ((dataptr = ippGetOctetString(attr, 0, &datalen)) != NULL && datalen < (int)(sizeof(job->password) - 1)) memcpy(job->password, dataptr, datalen); else respond_ignored(client, attr); @@ -1390,7 +1390,7 @@ create_printer( uuid[128], // printer-uuid *iconsptr; // Pointer into icons string int k_supported; // Maximum file size supported - size_t num_formats = 0;// Number of supported document formats + int num_formats = 0;// Number of supported document formats const char *formats[100], // Supported document formats *format; // Current format bool has_jpeg = false, @@ -1750,7 +1750,7 @@ create_printer( if (!cupsArrayFind(docformats, (void *)"application/octet-stream")) cupsArrayAdd(docformats, (void *)"application/octet-stream"); - for (format = (const char *)cupsArrayGetFirst(docformats); format && num_formats < (sizeof(formats) / sizeof(formats[0])); format = (const char *)cupsArrayGetNext(docformats)) + for (format = (const char *)cupsArrayGetFirst(docformats); format && num_formats < (int)(sizeof(formats) / sizeof(formats[0])); format = (const char *)cupsArrayGetNext(docformats)) formats[num_formats ++] = format; } else if ((attr = ippFindAttribute(attrs, "document-format-supported", IPP_TAG_MIMETYPE)) != NULL)