summaryrefslogtreecommitdiff
path: root/printutils/parse_prt.c
diff options
context:
space:
mode:
authorDenis Vlasenko2008-02-22 22:24:48 +0000
committerDenis Vlasenko2008-02-22 22:24:48 +0000
commit68444b9f0c74e94d219fa40bb4109b4aa2fdd43b (patch)
tree34b1c0d65ac46498b81df8badd85f9daa0baed33 /printutils/parse_prt.c
parent6aa74fcf5bc5f6b209b578754fc098714bc8485d (diff)
downloadbusybox-68444b9f0c74e94d219fa40bb4109b4aa2fdd43b.zip
busybox-68444b9f0c74e94d219fa40bb4109b4aa2fdd43b.tar.gz
lpr and lpq applets by Walter Harms.
text data bss dec hex filename 392 0 0 392 188 lpq.o 1378 0 0 1378 562 lpr.o 142 0 0 142 8e parse_prt.o
Diffstat (limited to 'printutils/parse_prt.c')
-rw-r--r--printutils/parse_prt.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/printutils/parse_prt.c b/printutils/parse_prt.c
new file mode 100644
index 0000000..2de0a92
--- /dev/null
+++ b/printutils/parse_prt.c
@@ -0,0 +1,27 @@
+/* vi: set sw=4 ts=4: */
+/*
+ * Copyright 2008 Walter Harms (WHarms@bfs.de)
+ *
+ * Licensed under the GPL v2, see the file LICENSE in this tarball.
+ */
+#include "libbb.h"
+#include "lpr.h"
+
+void parse_prt(const char *buf, struct netprint *netprint)
+{
+ const char *p;
+
+ if (!buf) {
+ buf = getenv("PRINTER");
+ if (!buf)
+ buf = "lp"; /* "...@localhost:515" is implied */
+ }
+ p = strchrnul(buf, '@');
+ netprint->queue = xstrndup(buf, p - buf);
+ if (!*p) /* just queue? example: "lpq -Pcopie" */
+ p = "localhost";
+ netprint->server = xstrdup(p);
+
+ netprint->lsa = xhost2sockaddr(netprint->server,
+ bb_lookup_port(NULL, "tcp", 515));
+}