]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - systemv/cancel.c
Remove svn:keywords since they cause svn_load_dirs.pl to complain about every file.
[thirdparty/cups.git] / systemv / cancel.c
index 06c6075c1eddb3c9dca162f63b8cf903fd560d18..ffe79a404399eec34b3186582bd5ce5ac3fe4c79 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: cancel.c 4906 2006-01-10 20:53:28Z mike $"
+ * "$Id: cancel.c 177 2006-06-21 00:20:03Z jlovell $"
  *
  *   "cancel" command for the Common UNIX Printing System (CUPS).
  *
@@ -58,22 +58,20 @@ main(int  argc,                             /* I - Number of command-line arguments */
   ipp_t                *request;               /* IPP request */
   ipp_t                *response;              /* IPP response */
   ipp_op_t     op;                     /* Operation */
-  cups_lang_t  *language;              /* Language */
 
 
  /*
   * Setup to cancel individual print jobs...
   */
 
-  op         = IPP_CANCEL_JOB;
-  purge      = 0;
-  job_id     = 0;
-  dest       = NULL;
-  user       = NULL;
-  http       = NULL;
-  num_dests  = 0;
-  dests      = NULL;
-  language   = cupsLangDefault();
+  op        = IPP_CANCEL_JOB;
+  purge     = 0;
+  job_id    = 0;
+  dest      = NULL;
+  user      = NULL;
+  http      = NULL;
+  num_dests = 0;
+  dests     = NULL;
 
 
  /*
@@ -91,12 +89,31 @@ main(int  argc,                             /* I - Number of command-line arguments */
            if (http)
              httpEncryption(http, HTTP_ENCRYPT_REQUIRED);
 #else
-            _cupsLangPrintf(stderr, language,
+            _cupsLangPrintf(stderr,
                            _("%s: Sorry, no encryption support compiled in!\n"),
                            argv[0]);
 #endif /* HAVE_SSL */
            break;
 
+        case 'U' : /* Username */
+           if (argv[i][2] != '\0')
+             cupsSetUser(argv[i] + 2);
+           else
+           {
+             i ++;
+             if (i >= argc)
+             {
+               _cupsLangPrintf(stderr,
+                               _("%s: Error - expected username after "
+                                 "\'-U\' option!\n"),
+                               argv[0]);
+               return (1);
+             }
+
+              cupsSetUser(argv[i]);
+           }
+           break;
+           
         case 'a' : /* Cancel all jobs */
            purge = 1;
            op    = IPP_PURGE_JOBS;
@@ -114,9 +131,10 @@ main(int  argc,                            /* I - Number of command-line arguments */
 
              if (i >= argc)
              {
-               _cupsLangPuts(stderr, language,
-                             _("cancel: Error - expected hostname after "
-                               "\'-h\' option!\n"));
+               _cupsLangPrintf(stderr,
+                               _("%s: Error - expected hostname after "
+                                 "\'-h\' option!\n"),
+                               argv[0]);
                return (1);
               }
              else
@@ -135,9 +153,10 @@ main(int  argc,                            /* I - Number of command-line arguments */
 
              if (i >= argc)
              {
-               _cupsLangPuts(stderr, language,
-                             _("cancel: Error - expected username after "
-                               "\'-u\' option!\n"));
+               _cupsLangPrintf(stderr,
+                               _("%s: Error - expected username after "
+                                 "\'-u\' option!\n"),
+                               argv[0]);
                return (1);
               }
              else
@@ -146,8 +165,9 @@ main(int  argc,                             /* I - Number of command-line arguments */
            break;
 
        default :
-           _cupsLangPrintf(stderr, language,
-                           _("cancel: Unknown option \'%c\'!\n"), argv[i][1]);
+           _cupsLangPrintf(stderr,
+                           _("%s: Error - unknown option \'%c\'!\n"),
+                           argv[0], argv[i][1]);
            return (1);
       }
     else
@@ -159,7 +179,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
       if (num_dests == 0)
         num_dests = cupsGetDests(&dests);
 
-      if (strcmp(argv[i], "-") == 0)
+      if (!strcmp(argv[i], "-"))
       {
        /*
         * Delete the current job...
@@ -203,8 +223,9 @@ main(int  argc,                             /* I - Number of command-line arguments */
         * Bad printer name!
        */
 
-        _cupsLangPrintf(stderr, language,
-                       _("cancel: Unknown destination \"%s\"!\n"), argv[i]);
+        _cupsLangPrintf(stderr,
+                       _("%s: Error - unknown destination \"%s\"!\n"),
+                       argv[0], argv[i]);
        return (1);
       }
 
@@ -225,8 +246,9 @@ main(int  argc,                             /* I - Number of command-line arguments */
        if ((http = httpConnectEncrypt(cupsServer(), ippPort(),
                                       cupsEncryption())) == NULL)
        {
-         _cupsLangPuts(stderr, language,
-                       _("cancel: Unable to contact server!\n"));
+         _cupsLangPrintf(stderr,
+                         _("%s: Unable to contact server!\n"),
+                         argv[0]);
          return (1);
        }
 
@@ -240,21 +262,12 @@ main(int  argc,                           /* I - Number of command-line arguments */
       *    [requesting-user-name]
       */
 
-      request = ippNew();
-
-      request->request.op.operation_id = op;
-      request->request.op.request_id   = 1;
-
-      ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
-                  "attributes-charset", NULL, cupsLangEncoding(language));
-
-      ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE,
-                   "attributes-natural-language", NULL, language->language);
+      request = ippNewRequest(op);
 
       if (dest)
       {
-       httpAssembleURIf(uri, sizeof(uri), "ipp", NULL, "localhost", 0,
-                        "/printers/%s", dest);
+       httpAssembleURIf(HTTP_URI_CODING_ALL, uri, sizeof(uri), "ipp", NULL,
+                        "localhost", 0, "/printers/%s", dest);
        ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI,
                     "printer-uri", NULL, uri);
        ippAddInteger(request, IPP_TAG_OPERATION, IPP_TAG_INTEGER, "job-id",
@@ -292,10 +305,9 @@ main(int  argc,                            /* I - Number of command-line arguments */
       if (response == NULL ||
           response->request.status.status_code > IPP_OK_CONFLICT)
       {
-       _cupsLangPrintf(stderr, language, _("cancel: %s failed: %s\n"),
+       _cupsLangPrintf(stderr, _("%s: %s failed: %s\n"), argv[0],
                        op == IPP_PURGE_JOBS ? "purge-jobs" : "cancel-job",
-                       response ? ippErrorString(response->request.status.status_code) :
-                                  ippErrorString(cupsLastError()));
+                       cupsLastErrorString());
 
        if (response)
          ippDelete(response);
@@ -316,7 +328,8 @@ main(int  argc,                             /* I - Number of command-line arguments */
       if ((http = httpConnectEncrypt(cupsServer(), ippPort(),
                                     cupsEncryption())) == NULL)
       {
-       _cupsLangPuts(stderr, language, _("cancel: Unable to contact server!\n"));
+       _cupsLangPrintf(stderr, _("%s: Unable to contact server!\n"),
+                       argv[0]);
        return (1);
       }
 
@@ -330,18 +343,7 @@ main(int  argc,                            /* I - Number of command-line arguments */
     *    [requesting-user-name]
     */
 
-    request = ippNew();
-
-    request->request.op.operation_id = op;
-    request->request.op.request_id   = 1;
-
-    language = cupsLangDefault();
-
-    ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
-                "attributes-charset", NULL, cupsLangEncoding(language));
-
-    ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE,
-                 "attributes-natural-language", NULL, language->language);
+    request = ippNewRequest(op);
 
     ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI,
                 "printer-uri", NULL, "ipp://localhost/printers/");
@@ -367,10 +369,9 @@ main(int  argc,                            /* I - Number of command-line arguments */
     if (response == NULL ||
         response->request.status.status_code > IPP_OK_CONFLICT)
     {
-      _cupsLangPrintf(stderr, language, _("cancel: %s failed: %s\n"),
+      _cupsLangPrintf(stderr, _("%s: %s failed: %s\n"), argv[0],
                      op == IPP_PURGE_JOBS ? "purge-jobs" : "cancel-job",
-                     response ? ippErrorString(response->request.status.status_code) :
-                                ippErrorString(cupsLastError()));
+                     cupsLastErrorString());
 
       if (response)
        ippDelete(response);
@@ -386,5 +387,5 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
 
 /*
- * End of "$Id: cancel.c 4906 2006-01-10 20:53:28Z mike $".
+ * End of "$Id: cancel.c 177 2006-06-21 00:20:03Z jlovell $".
  */