From 394eebed6656dfc2e56a79500b602023000ac415 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Mon, 25 Feb 2008 20:30:24 +0000 Subject: lpd: spool mode added by Vladimir lpr: more robust error reporting *: introduce and use xchroot libbb: full_read/write now will report partial data counts prior to error isdirectory.c: style fixes lpd_main 249 486 +237 xchroot - 29 +29 get_response_or_say_and_die 110 139 +29 full_write 52 60 +8 full_read 55 63 +8 static.newline 1 - -1 switch_root_main 404 400 -4 chpst_main 1089 1079 -10 getopt32 1370 1359 -11 chroot_main 115 101 -14 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 4/4 up/down: 311/-40) Total: 271 bytes text data bss dec hex filename 798472 728 7484 806684 c4f1c busybox_old 798775 728 7484 806987 c504b busybox_unstripped --- include/libbb.h | 5 +++++ include/usage.h | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/libbb.h b/include/libbb.h index 48937c4..1ea2e35 100644 --- a/include/libbb.h +++ b/include/libbb.h @@ -315,6 +315,7 @@ void kill_myself_with_sig(int sig) ATTRIBUTE_NORETURN; void xsetgid(gid_t gid); void xsetuid(uid_t uid); void xchdir(const char *path); +void xchroot(const char *path); void xsetenv(const char *key, const char *value); void xunlink(const char *pathname); void xstat(const char *pathname, struct stat *buf); @@ -500,6 +501,8 @@ extern void *xrealloc(void *old, size_t size); extern ssize_t safe_read(int fd, void *buf, size_t count); extern ssize_t nonblock_safe_read(int fd, void *buf, size_t count); +// NB: will return short read on error, not -1, +// if some data was read before error occurred extern ssize_t full_read(int fd, void *buf, size_t count); extern void xread(int fd, void *buf, size_t count); extern unsigned char xread_char(int fd); @@ -514,6 +517,8 @@ extern ssize_t open_read_close(const char *filename, void *buf, size_t count); extern void *xmalloc_open_read_close(const char *filename, size_t *sizep); extern ssize_t safe_write(int fd, const void *buf, size_t count); +// NB: will return short write on error, not -1, +// if some data was written before error occurred extern ssize_t full_write(int fd, const void *buf, size_t count); extern void xwrite(int fd, const void *buf, size_t count); diff --git a/include/usage.h b/include/usage.h index 7c9a90e..359f88d 100644 --- a/include/usage.h +++ b/include/usage.h @@ -2055,7 +2055,7 @@ USE_FEATURE_BRCTL_FANCY("\n" \ "SPOOLDIR" #define lpd_full_usage \ "Example:" \ - "\n tcpsvd -E localhost 515 lpd /var/spool" + "\n tcpsvd -E 0 515 softlimit -m 99999 lpd /var/spool" #define lpq_trivial_usage \ "[-P queue[@host[:port]]] [-U USERNAME] [-d JOBID...] [-fs]" -- cgit v1.1