diff options
author | Eric Andersen | 2002-10-10 04:20:21 +0000 |
---|---|---|
committer | Eric Andersen | 2002-10-10 04:20:21 +0000 |
commit | 71ae64bdc6b044eef0a9f3bebd85cc4a6b67362f (patch) | |
tree | 802990cf39a805f253b9d32f3888a7c749babd01 /loginutils/getty.c | |
parent | fdfe298a966da0e6eecdc355efd640acf73c00e5 (diff) | |
download | busybox-71ae64bdc6b044eef0a9f3bebd85cc4a6b67362f.zip busybox-71ae64bdc6b044eef0a9f3bebd85cc4a6b67362f.tar.gz |
last_patch61 from vodz:
New complex patch for decrease size devel version. Requires previous patch.
Also removed small problems from dutmp and tar applets.
Also includes vodz' last_patch61_2:
Last patch correcting comment for #endif and more integrated
with libbb (very reduce size if used "cat" applet also).
Requires last_patch61 for modutils/config.in.
Diffstat (limited to 'loginutils/getty.c')
-rw-r--r-- | loginutils/getty.c | 24 |
1 files changed, 5 insertions, 19 deletions
diff --git a/loginutils/getty.c b/loginutils/getty.c index fec8ae8..0f0778c 100644 --- a/loginutils/getty.c +++ b/loginutils/getty.c @@ -388,34 +388,20 @@ static void parse_args(int argc, char **argv, struct options *op) switch (c) { case 'I': if (!(op->initstring = strdup(optarg))) - error("can't malloc initstring"); + error(memory_exhausted); { - char ch, *p, *q; - int i; + const char *p; + char *q; /* copy optarg into op->initstring decoding \ddd octal codes into chars */ q = op->initstring; p = optarg; while (*p) { - if (*p == '\\') { /* know \\ means \ */ + if (*p == '\\') { p++; - if (*p == '\\') { - ch = '\\'; - p++; - } else { /* handle \000 - \177 */ - ch = 0; - for (i = 1; i <= 3; i++) { - if (*p >= '0' && *p <= '7') { - ch <<= 3; - ch += *p - '0'; - p++; - } else - break; - } - } - *q++ = ch; + *q++ = process_escape_sequence(&p); } else { *q++ = *p++; } |