summaryrefslogtreecommitdiff
path: root/libc/inet/rpc
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/inet/rpc
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/inet/rpc')
-rw-r--r--libc/inet/rpc/ruserpass.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libc/inet/rpc/ruserpass.c b/libc/inet/rpc/ruserpass.c
index 0adcbf1d3..b18bbf5b7 100644
--- a/libc/inet/rpc/ruserpass.c
+++ b/libc/inet/rpc/ruserpass.c
@@ -40,6 +40,7 @@
#include <stdio_ext.h>
#include <stdlib.h>
#include <string.h>
+#include <malloc.h>
#include <strings.h>
#include <unistd.h>
@@ -79,7 +80,7 @@ static FILE *cfile;
#define ID 10
#define MACHINE 11
-static char tokval[100];
+static char *tokval; /* [100] */
static const char tokstr[] =
{
@@ -152,6 +153,9 @@ int ruserpass(const char *host, const char **aname, const char **apass)
if (mydomain==NULL) {
mydomain=myname + strlen(myname);
}
+
+ if (!tokval)
+ tokval = __uc_malloc(100);
next:
while ((t = token())) switch(t) {