diff options
author | Jordan K. Hubbard <jkh@FreeBSD.org> | 1996-12-11 18:23:19 +0000 |
---|---|---|
committer | Jordan K. Hubbard <jkh@FreeBSD.org> | 1996-12-11 18:23:19 +0000 |
commit | 86767547be6d071f1ecbc24c22a4cb3832b05a67 (patch) | |
tree | b4559797b88382d69ce7830e112c0f922eafa0ba /usr.sbin/sysinstall/main.c | |
parent | 4963f4cd96d2963c9a6845a6886aa6fcf8995903 (diff) | |
download | src-86767547be6d071f1ecbc24c22a4cb3832b05a67.tar.gz src-86767547be6d071f1ecbc24c22a4cb3832b05a67.zip |
Be more efficient in how we use memory (stumbled across while looking for
something else) for attributes and variables.
Remove stack-stomper in sstrncpy().
Notes
Notes:
svn path=/head/; revision=20331
Diffstat (limited to 'usr.sbin/sysinstall/main.c')
-rw-r--r-- | usr.sbin/sysinstall/main.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/usr.sbin/sysinstall/main.c b/usr.sbin/sysinstall/main.c index d61d0c119002..b5ebbb8bc839 100644 --- a/usr.sbin/sysinstall/main.c +++ b/usr.sbin/sysinstall/main.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated for what's essentially a complete rewrite. * - * $Id: main.c,v 1.28 1996/09/26 21:03:35 pst Exp $ + * $Id: main.c,v 1.29 1996/12/11 09:35:02 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -113,20 +113,20 @@ main(int argc, char **argv) { FILE *fp; - Attribs attrs[512]; - - bzero(attrs, sizeof(attrs)); + Attribs *attrs; + attrs = safe_malloc(sizeof(Attribs) * MAX_ATTRIBS); fp = fopen("install.cfg", "r"); if (fp) { msgNotify("Loading pre-configuration file"); if (DITEM_STATUS(attr_parse(attrs, fp)) == DITEM_SUCCESS) { int i; - for (i = 0; *attrs[i].name; i++) + for (i = 0; attrs[i].name; i++) variable_set2(attrs[i].name, attrs[i].value); } fclose(fp); + attr_free(attrs); } #if defined(LOAD_CONFIG_FILE) @@ -150,10 +150,11 @@ main(int argc, char **argv) if (DITEM_STATUS(attr_parse(attrs, fp)) == DITEM_SUCCESS) { int i; - for (i = 0; *attrs[i].name; i++) + for (i = 0; attrs[i].name; i++) variable_set2(attrs[i].name, attrs[i].value); } fclose(fp); + attr_free(attrs); } mediaDevice->shutdown(mediaDevice); } |