diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-07-30 17:02:06 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-07-30 17:02:06 +0000 |
commit | 88483db112b15569aad4898d30a8ab7ea4deb96b (patch) | |
tree | 1da1ec9a5cab6d6b3793fec0edc5728b71743a0e /libc/misc | |
parent | f5c05b8c3da2fc70133778daf099b00c5d090ff9 (diff) |
make regex_old.c, ruserpass.c use __uc_malloc,
replace "buf = malloc(BUFSIZ); if (!buf) abort();" by __uc_malloc
elsewhere.
With last 7 patches together uclibc has 3k of static data total
with fairly big .config and with 2k being used for 2 x BUFSIZ stdio buffer:
text data bss dec hex filename
114 132 2048 2294 8f6 _stdio.o (ex lib/libc.a)
total data 593
total bss 3062
Diffstat (limited to 'libc/misc')
-rw-r--r-- | libc/misc/mntent/mntent.c | 5 | ||||
-rw-r--r-- | libc/misc/regex/regex_old.c | 9 | ||||
-rw-r--r-- | libc/misc/ttyent/getttyent.c | 5 |
3 files changed, 10 insertions, 9 deletions
diff --git a/libc/misc/mntent/mntent.c b/libc/misc/mntent/mntent.c index a5db799dc..a9024be88 100644 --- a/libc/misc/mntent/mntent.c +++ b/libc/misc/mntent/mntent.c @@ -7,6 +7,7 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> +#include <malloc.h> #include <mntent.h> #include <bits/uClibc_mutex.h> @@ -84,9 +85,7 @@ struct mntent *getmntent(FILE * filep) __UCLIBC_MUTEX_LOCK(mylock); if (!buff) { - buff = malloc(BUFSIZ); - if (!buff) - abort(); + buff = __uc_malloc(BUFSIZ); } tmp = getmntent_r(filep, &mnt, buff, BUFSIZ); diff --git a/libc/misc/regex/regex_old.c b/libc/misc/regex/regex_old.c index cf5843ec5..997ee6f8b 100644 --- a/libc/misc/regex/regex_old.c +++ b/libc/misc/regex/regex_old.c @@ -35,6 +35,7 @@ #include <stdlib.h> #include <stdint.h> #include <string.h> +#include <malloc.h> #include <stdio.h> libc_hidden_proto(memset) @@ -306,7 +307,7 @@ extern char *re_syntax_table; # else /* not SYNTAX_TABLE */ -static char re_syntax_table[CHAR_SET_SIZE]; +static char *re_syntax_table; /* [CHAR_SET_SIZE] */ static void init_syntax_once PARAMS ((void)); @@ -314,11 +315,13 @@ static void init_syntax_once () { register int c; - static int done = 0; + static char done; if (done) return; - bzero (re_syntax_table, sizeof re_syntax_table); + + re_syntax_table = __uc_malloc(CHAR_SET_SIZE); + bzero (re_syntax_table, CHAR_SET_SIZE); for (c = 0; c < CHAR_SET_SIZE; ++c) if (ISALNUM (c)) diff --git a/libc/misc/ttyent/getttyent.c b/libc/misc/ttyent/getttyent.c index c9c68f1cc..e68eb8aa0 100644 --- a/libc/misc/ttyent/getttyent.c +++ b/libc/misc/ttyent/getttyent.c @@ -34,6 +34,7 @@ #include <ctype.h> #include <string.h> #include <stdlib.h> +#include <malloc.h> #ifdef __UCLIBC_HAS_THREADS__ #include <pthread.h> #endif @@ -132,9 +133,7 @@ struct ttyent * getttyent(void) return (NULL); if (!line) { - line = malloc(BUFSIZ); - if (!line) - abort(); + line = __uc_malloc(BUFSIZ); } __STDIO_ALWAYS_THREADLOCK(tf); |