]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Refactor _ipp_request_t to avoid issues on embedded platforms with newer C compilers.
authorMichael R Sweet <msweet@msweet.org>
Sat, 24 Jan 2026 22:16:10 +0000 (17:16 -0500)
committerMichael R Sweet <msweet@msweet.org>
Sat, 24 Jan 2026 22:16:10 +0000 (17:16 -0500)
19 files changed:
backend/ipp.c
berkeley/lpq.c
cups/getdevices.c
cups/ipp-private.h
cups/ipp.c
cups/request.c
cups/testipp.c
scheduler/client.c
scheduler/ipp.c
scheduler/job.c
scheduler/log.c
scheduler/mime.c
scheduler/policy.c
scheduler/printers.c
systemv/cancel.c
systemv/lpadmin.c
systemv/lpinfo.c
systemv/lpstat.c
tools/ippeveprinter.c

index 8311a1cf97cdff17909f4ff023100ede159b7763..6221af11d8359762c2469cd6f22cbff9e4e27762 100644 (file)
@@ -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...
index b47f99cb4b421b2d74747e6499842be791af706b..02500c9d7cb531de87771ed4fc135d107e1d56dc 100644 (file)
@@ -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);
index 363144e29f150734af03f19d55b37911fd65351c..15cdba43dac1eb7ae3513ba912db473aaf52cbdf 100644 (file)
@@ -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);
 
index 86e412792b6b159825d7666b9364fa3152283eab..3c7f2fedae83d0f979385bea258c57decb2646c5 100644 (file)
@@ -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
index d2b8d6eaed07abb0e8f50bacccf43e7c0989ea9b..183dc1ceebfcff7a8939bdd2069ef5405873717a 100644 (file)
@@ -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;
index 26483c9c7de116c3efef0d2be19831a4fe62a4fe..1b65d5e7c7ccf04374ce6067e1c78f4e7a7a8f86 100644 (file)
@@ -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...
index 01db42bf5ea34c096b262ed559a66aa65c4154f0..41f3d911626c22f7a12907be728a0b32a37931a3 100644 (file)
@@ -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");
index 31c376f21dbd3999c4c9c1a2bcc2e1780e001ea3..22754a216b4ef9c489f9d20c184cf92fdeab8d9c 100644 (file)
@@ -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);
            }
          }
index 3e75e62c248d39a81c4223e8454c06154bee2967..9368ee5aa117d46eeca5651b3dbdcb3fd48dabcd 100644 (file)
@@ -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;
 }
 
 
index 7eff88bf5427e6464fa4030d5aadc738d53c38f7..03da0d960656481ba76b0ff146f255703bef7666 100644 (file)
@@ -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)
index 159a8313aa7af6c9aafd2a26560e7307e6a7cf5f..90fd549826f2acb432abafbdd251d769f1361a5a 100644 (file)
@@ -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);
index 1de91c4191eefe6d421f343ba59a1d1a4a32bbaf..38629a3c157c8717e72658e449bda1eeae7f0ade 100644 (file)
@@ -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)
index f76f58f0da91a9b6cdcd59955e18d84f92cd983f..404215370b30ef49f644df1af884b32f1e3b5fbe 100644 (file)
@@ -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 :
index d284b81ba9ca6b4d8abe07585cda7a5902841b12..389762d0d35103a0cfb1ee86d651b30d42503f2d 100644 (file)
@@ -608,7 +608,7 @@ cupsdCreateCommonData(void)
       if (*langptr == '_')
         *tempptr++ = '-';
       else
-        *tempptr++ = tolower(*langptr & 255);
+        *tempptr++ = (char)tolower(*langptr & 255);
     }
     *tempptr = '\0';
 
index 5113f63aef670224d8c26047b62793c32c2b8f26..3bb344c070eb91f65ae6059053f7cc9dcecc5f54 100644 (file)
@@ -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",
index 29332c15aa0471b2362fd302a83f1a123b20be34..03377455796e7f7b259b6b49bc9667570310be89 100644 (file)
@@ -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;
index 32bbaae3b43e8e0bdcb76f835386909a426ea905..7f0c962d1b02e8489dfd32175dfcff9bbae4c38c 100644 (file)
@@ -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);
index d2297109ffc2b0dab72b031f81c57bb70e70b1b2..57a90e99b025a4d70df2ffd27c1761e8b4187aa7 100644 (file)
@@ -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);
index 982103bee48245c9ef3593c053e38ef249c0469a..e931c4cd6e77e114a1c7ec04cc18868e0bda99e3 100644 (file)
@@ -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)