summaryrefslogtreecommitdiff
path: root/src/backend/postmaster
diff options
context:
space:
mode:
authorPeter Eisentraut2000-07-03 20:46:10 +0000
committerPeter Eisentraut2000-07-03 20:46:10 +0000
commite2d3932e0eaaac60928dacfc7902ac788b25b100 (patch)
tree025e7e5df1981f297d15d8fa1779b94c03f99138 /src/backend/postmaster
parent51afb9305c3a45891bd49637827a99631be8b488 (diff)
Move PGPORT envar handling to ResetAllOptions(). Improve long options
parsing to not clobber the optarg string -- so that we can bring SetOptsFile() up to speed.
Diffstat (limited to 'src/backend/postmaster')
-rw-r--r--src/backend/postmaster/postmaster.c23
1 files changed, 9 insertions, 14 deletions
diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c
index f7d2e0d8a6d..9b30fa447d9 100644
--- a/src/backend/postmaster/postmaster.c
+++ b/src/backend/postmaster/postmaster.c
@@ -11,7 +11,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.151 2000/07/02 15:20:48 petere Exp $
+ * $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.152 2000/07/03 20:45:58 petere Exp $
*
* NOTES
*
@@ -383,9 +383,6 @@ PostmasterMain(int argc, char *argv[])
if (getenv("PGDATA"))
DataDir = strdup(getenv("PGDATA")); /* default value */
- if (getenv("PGPORT"))
- PostPortName = atoi(getenv("PGPORT"));
-
ResetAllOptions();
/*
@@ -504,7 +501,6 @@ PostmasterMain(int argc, char *argv[])
strcpy(original_extraoptions, optarg);
break;
case 'p':
- /* Set PGPORT by hand. */
PostPortName = atoi(optarg);
break;
case 'S':
@@ -529,17 +525,16 @@ PostmasterMain(int argc, char *argv[])
break;
case '-':
{
- /* A little 'long argument' simulation */
- size_t equal_pos = strcspn(optarg, "=");
- char *cp;
+ char *name, *value;
- if (optarg[equal_pos] != '=')
+ ParseLongOption(optarg, &name, &value);
+ if (!value)
elog(ERROR, "--%s requires argument", optarg);
- optarg[equal_pos] = '\0';
- for(cp = optarg; *cp; cp++)
- if (*cp == '-')
- *cp = '_';
- SetConfigOption(optarg, optarg + equal_pos + 1, PGC_POSTMASTER);
+
+ SetConfigOption(name, value, PGC_POSTMASTER);
+ free(name);
+ if (value)
+ free(value);
break;
}
default: