summaryrefslogtreecommitdiff
path: root/release/sysinstall/variable.c
diff options
context:
space:
mode:
authorJordan K. Hubbard <jkh@FreeBSD.org>1995-05-01 21:56:32 +0000
committerJordan K. Hubbard <jkh@FreeBSD.org>1995-05-01 21:56:32 +0000
commit411bac67a7d1706e23a81f47d72cda27e31cd303 (patch)
tree66e8a7a94085501f4c4c4f035003b8f42ba879d5 /release/sysinstall/variable.c
parentec27acc8cb283d8cf4482f2f3184a72d64230cd4 (diff)
Notes
Diffstat (limited to 'release/sysinstall/variable.c')
-rw-r--r--release/sysinstall/variable.c80
1 files changed, 80 insertions, 0 deletions
diff --git a/release/sysinstall/variable.c b/release/sysinstall/variable.c
new file mode 100644
index 000000000000..5a64f910469e
--- /dev/null
+++ b/release/sysinstall/variable.c
@@ -0,0 +1,80 @@
+/*
+ * The new sysinstall program.
+ *
+ * This is probably the last program in the `sysinstall' line - the next
+ * generation being essentially a complete rewrite.
+ *
+ * $Id: install.c,v 1.2 1995/04/27 18:03:53 jkh Exp $
+ *
+ * Copyright (c) 1995
+ * Jordan Hubbard. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer,
+ * verbatim and that no modifications are made prior to this
+ * point in the file.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by Jordan Hubbard
+ * for the FreeBSD Project.
+ * 4. The name of Jordan Hubbard or the FreeBSD project may not be used to
+ * endorse or promote products derived from this software without specific
+ * prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY JORDAN HUBBARD ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL JORDAN HUBBARD OR HIS PETS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, LIFE OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ */
+
+#include "sysinstall.h"
+
+/* Routines for dealing with variable lists */
+
+void
+variable_set(char *var)
+{
+ char tmp[VAR_NAME_MAX + VAR_VALUE_MAX], *cp;
+ Variable *newvar;
+
+ newvar = (Variable *)safe_malloc(sizeof(Variable));
+ strncpy(tmp, var, VAR_NAME_MAX + VAR_VALUE_MAX);
+ if ((cp = index(tmp, '=')) == NULL)
+ msgFatal("Invalid variable format: %s", var);
+ *cp = '\0';
+ strncpy(newvar->name, tmp, VAR_NAME_MAX);
+ strncpy(newvar->value, cp + 1, VAR_VALUE_MAX);
+ newvar->next = VarHead;
+ VarHead = newvar;
+ setenv(newvar->name, newvar->value, 1);
+}
+
+void
+variable_set2(char *var, char *value)
+{
+ Variable *newvar;
+
+ if (!var || !value)
+ msgFatal("Null name or value passed to set_variable2!");
+ setenv(var, value, 1);
+ newvar = (Variable *)safe_malloc(sizeof(Variable));
+ strncpy(newvar->name, var, VAR_NAME_MAX);
+ strncpy(newvar->value, value, VAR_VALUE_MAX);
+ newvar->next = VarHead;
+ VarHead = newvar;
+ setenv(newvar->name, newvar->value, 1);
+}