aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/sysinstall/main.c
diff options
context:
space:
mode:
authorJordan K. Hubbard <jkh@FreeBSD.org>1996-12-11 18:23:19 +0000
committerJordan K. Hubbard <jkh@FreeBSD.org>1996-12-11 18:23:19 +0000
commit86767547be6d071f1ecbc24c22a4cb3832b05a67 (patch)
treeb4559797b88382d69ce7830e112c0f922eafa0ba /usr.sbin/sysinstall/main.c
parent4963f4cd96d2963c9a6845a6886aa6fcf8995903 (diff)
downloadsrc-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.c13
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);
}