summaryrefslogtreecommitdiff
path: root/src/backend/utils/misc/guc-file.l
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/utils/misc/guc-file.l')
-rw-r--r--src/backend/utils/misc/guc-file.l14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/backend/utils/misc/guc-file.l b/src/backend/utils/misc/guc-file.l
index 268b7455283..c98e2202951 100644
--- a/src/backend/utils/misc/guc-file.l
+++ b/src/backend/utils/misc/guc-file.l
@@ -55,7 +55,6 @@ static void record_config_file_error(const char *errmsg,
ConfigVariable **tail_p);
static int GUC_flex_fatal(const char *msg);
-static char *GUC_scanstr(const char *s);
/* LCOV_EXCL_START */
@@ -797,7 +796,7 @@ ParseConfigFp(FILE *fp, const char *config_file, int depth, int elevel,
token != GUC_UNQUOTED_STRING)
goto parse_error;
if (token == GUC_STRING) /* strip quotes and escapes */
- opt_value = GUC_scanstr(yytext);
+ opt_value = DeescapeQuotedString(yytext);
else
opt_value = pstrdup(yytext);
@@ -1132,22 +1131,25 @@ FreeConfigVariable(ConfigVariable *item)
/*
- * scanstr
+ * DeescapeQuotedString
*
* Strip the quotes surrounding the given string, and collapse any embedded
* '' sequences and backslash escapes.
*
- * the string returned is palloc'd and should eventually be pfree'd by the
+ * The string returned is palloc'd and should eventually be pfree'd by the
* caller.
+ *
+ * This is exported because it is also used by the bootstrap scanner.
*/
-static char *
-GUC_scanstr(const char *s)
+char *
+DeescapeQuotedString(const char *s)
{
char *newStr;
int len,
i,
j;
+ /* We just Assert that there are leading and trailing quotes */
Assert(s != NULL && s[0] == '\'');
len = strlen(s);
Assert(len >= 2);