summaryrefslogtreecommitdiff
path: root/berkeley
diff options
context:
space:
mode:
authorjlovell <jlovell@a1ca3aef-8c08-0410-bb20-df032aa958be>2006-04-04 20:09:25 +0000
committerjlovell <jlovell@a1ca3aef-8c08-0410-bb20-df032aa958be>2006-04-04 20:09:25 +0000
commitd6ae789d922e30aa25c55e01e1523d451be2016b (patch)
tree8476ccd34262b03c12bf786a2b8f01f6cf48ea8c /berkeley
parent80ca45929e4a37c300b602b7d444a2e8f2263bf6 (diff)
downloadcups-d6ae789d922e30aa25c55e01e1523d451be2016b.tar.gz
Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@113 a1ca3aef-8c08-0410-bb20-df032aa958be
Diffstat (limited to 'berkeley')
-rw-r--r--berkeley/lpq.c66
1 files changed, 46 insertions, 20 deletions
diff --git a/berkeley/lpq.c b/berkeley/lpq.c
index d1d06db1d..8040340a7 100644
--- a/berkeley/lpq.c
+++ b/berkeley/lpq.c
@@ -1,5 +1,5 @@
/*
- * "$Id: lpq.c 5023 2006-01-29 14:39:44Z mike $"
+ * "$Id: lpq.c 5345 2006-03-28 16:00:17Z mike $"
*
* "lpq" command for the Common UNIX Printing System (CUPS).
*
@@ -49,6 +49,7 @@
* Local functions...
*/
+static http_t *connect_server(const char *, http_t *);
static int show_jobs(const char *, http_t *, const char *,
const char *, const int, const int);
static void show_printer(const char *, http_t *, const char *);
@@ -76,35 +77,23 @@ main(int argc, /* I - Number of command-line arguments */
int num_dests; /* Number of destinations */
cups_dest_t *dests; /* Destinations */
cups_lang_t *language; /* Language */
-#ifdef HAVE_SSL
- http_encryption_t encryption; /* Encryption? */
-#endif /* HAVE_SSL */
- language = cupsLangDefault();
- /*
- * Connect to the scheduler...
- */
-
- if ((http = httpConnectEncrypt(cupsServer(), ippPort(),
- cupsEncryption())) == NULL)
- {
- _cupsLangPrintf(stderr, _("%s: Unable to contact server!\n"), argv[0]);
- return (1);
- }
/*
* Check for command-line options...
*/
+ http = NULL;
dest = NULL;
user = NULL;
id = 0;
interval = 0;
longstatus = 0;
all = 0;
- num_dests = cupsGetDests(&dests);
+ language = cupsLangDefault();
+ num_dests = 0;
for (i = 1; i < argc; i ++)
if (argv[i][0] == '+')
@@ -115,10 +104,10 @@ main(int argc, /* I - Number of command-line arguments */
{
case 'E' : /* Encrypt */
#ifdef HAVE_SSL
- encryption = HTTP_ENCRYPT_REQUIRED;
+ cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
if (http)
- httpEncryption(http, encryption);
+ httpEncryption(http, HTTP_ENCRYPT_REQUIRED);
#else
_cupsLangPrintf(stderr,
_("%s: Sorry, no encryption support compiled in!\n"),
@@ -166,6 +155,11 @@ main(int argc, /* I - Number of command-line arguments */
if ((instance = strchr(dest, '/')) != NULL)
*instance++ = '\0';
+ http = connect_server(argv[0], http);
+
+ if (num_dests == 0)
+ num_dests = cupsGetDests2(http, &dests);
+
if (cupsGetDest(dest, instance, num_dests, dests) == NULL)
{
if (instance)
@@ -186,8 +180,11 @@ main(int argc, /* I - Number of command-line arguments */
break;
case 'h' : /* Connect to host */
- if (http != NULL)
+ if (http)
+ {
httpClose(http);
+ http = NULL;
+ }
if (argv[i][2] != '\0')
cupsSetServer(argv[i] + 2);
@@ -225,8 +222,13 @@ main(int argc, /* I - Number of command-line arguments */
else
user = argv[i];
+ http = connect_server(argv[0], http);
+
if (dest == NULL && !all)
{
+ if (num_dests == 0)
+ num_dests = cupsGetDests2(http, &dests);
+
for (i = 0; i < num_dests; i ++)
if (dests[i].is_default)
dest = dests[i].name;
@@ -295,6 +297,30 @@ main(int argc, /* I - Number of command-line arguments */
/*
+ * 'connect_server()' - Connect to the server as necessary...
+ */
+
+static http_t * /* O - New HTTP connection */
+connect_server(const char *command, /* I - Command name */
+ http_t *http) /* I - Current HTTP connection */
+{
+ if (!http)
+ {
+ http = httpConnectEncrypt(cupsServer(), ippPort(),
+ cupsEncryption());
+
+ if (http == NULL)
+ {
+ _cupsLangPrintf(stderr, _("%s: Unable to connect to server\n"), command);
+ exit(1);
+ }
+ }
+
+ return (http);
+}
+
+
+/*
* 'show_jobs()' - Show jobs.
*/
@@ -651,5 +677,5 @@ usage(void)
/*
- * End of "$Id: lpq.c 5023 2006-01-29 14:39:44Z mike $".
+ * End of "$Id: lpq.c 5345 2006-03-28 16:00:17Z mike $".
*/