diff options
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)); +} |