diff options
author | Denis Vlasenko | 2008-02-22 22:24:48 +0000 |
---|---|---|
committer | Denis Vlasenko | 2008-02-22 22:24:48 +0000 |
commit | 68444b9f0c74e94d219fa40bb4109b4aa2fdd43b (patch) | |
tree | 34b1c0d65ac46498b81df8badd85f9daa0baed33 /printutils/parse_prt.c | |
parent | 6aa74fcf5bc5f6b209b578754fc098714bc8485d (diff) | |
download | busybox-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.c | 27 |
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)); +} |