summaryrefslogtreecommitdiff
path: root/libc/misc/regex
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2007-07-30 17:02:06 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2007-07-30 17:02:06 +0000
commit88483db112b15569aad4898d30a8ab7ea4deb96b (patch)
tree1da1ec9a5cab6d6b3793fec0edc5728b71743a0e /libc/misc/regex
parentf5c05b8c3da2fc70133778daf099b00c5d090ff9 (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/regex')
-rw-r--r--libc/misc/regex/regex_old.c9
1 files changed, 6 insertions, 3 deletions
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))