diff options
author | Guillaume Cottenceau <gc@mandriva.com> | 2000-12-16 22:03:06 +0000 |
---|---|---|
committer | Guillaume Cottenceau <gc@mandriva.com> | 2000-12-16 22:03:06 +0000 |
commit | 2766c6bb69ced7c4f33ec9d8bda56ba5b66e2915 (patch) | |
tree | 9e3e67b830f02fb32f528f391bb72a1deddade6c /mdk-stage1/tools.c | |
parent | c930e6cc7e11b72ab1786f209dffb49a11bea8f7 (diff) | |
download | drakx-2766c6bb69ced7c4f33ec9d8bda56ba5b66e2915.tar drakx-2766c6bb69ced7c4f33ec9d8bda56ba5b66e2915.tar.gz drakx-2766c6bb69ced7c4f33ec9d8bda56ba5b66e2915.tar.bz2 drakx-2766c6bb69ced7c4f33ec9d8bda56ba5b66e2915.tar.xz drakx-2766c6bb69ced7c4f33ec9d8bda56ba5b66e2915.zip |
- network/nfs works
Diffstat (limited to 'mdk-stage1/tools.c')
-rw-r--r-- | mdk-stage1/tools.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/mdk-stage1/tools.c b/mdk-stage1/tools.c index 2fae6acea..9420ed1dd 100644 --- a/mdk-stage1/tools.c +++ b/mdk-stage1/tools.c @@ -70,8 +70,7 @@ void process_cmdline(void) i++; continue; } - name = (char *) malloc(i-j + 1); - memcpy(name, &buf[j], i-j); + name = memdup(&buf[j], i-j + 1); name[i-j] = 0; if (buf[i] == '=') { @@ -79,8 +78,7 @@ void process_cmdline(void) i++; while (buf[i] != ' ' && buf[i] != 0) i++; - value = (char *) malloc(i-k + 1); - memcpy(value, &buf[k], i-k); + value = memdup(&buf[k], i-k + 1); value[i-k] = 0; } @@ -104,8 +102,7 @@ void process_cmdline(void) tmp_params[p++].name = NULL; - params = (struct cmdline_elem *) malloc(sizeof(struct cmdline_elem) * p); - memcpy(params, tmp_params, sizeof(struct cmdline_elem) * p); + params = memdup(tmp_params, sizeof(struct cmdline_elem) * p); log_message("\tgot %d args", p); } @@ -231,7 +228,7 @@ enum return_type load_ramdisk(void) } stat(img_name, &statr); - init_progression("Loading Installation program into memory...", statr.st_size); + init_progression("Loading program into memory...", statr.st_size); while (!gzeof(st2)) { int actually = gzread(st2, buffer, sizeof(buffer)); @@ -264,3 +261,11 @@ enum return_type load_ramdisk(void) return RETURN_OK; } + +/* pixel's */ +void * memdup(void *src, size_t size) +{ + void * r = malloc(size); + memcpy(r, src, size); + return r; +} |