[master] c5e9cf1c1 Remove VSB_QUOTE_GLOB, it was committed prematurely and does not quite work the way it should.
Poul-Henning Kamp
phk at FreeBSD.org
Mon Apr 27 07:10:08 UTC 2020
commit c5e9cf1c11bb6b6ccb9492887d83be0b2e0ad16f
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Mon Apr 27 07:08:33 2020 +0000
Remove VSB_QUOTE_GLOB, it was committed prematurely and does not
quite work the way it should.
diff --git a/include/vsb.h b/include/vsb.h
index b4305e42a..facea9394 100644
--- a/include/vsb.h
+++ b/include/vsb.h
@@ -84,7 +84,6 @@ void VSB_destroy(struct vsb **);
#define VSB_QUOTE_CSTR 8
#define VSB_QUOTE_UNSAFE 16
#define VSB_QUOTE_ESCHEX 32
-#define VSB_QUOTE_GLOB 64
void VSB_quote_pfx(struct vsb *, const char*, const void *,
int len, int how);
void VSB_quote(struct vsb *, const void *, int len, int how);
diff --git a/lib/libvarnish/vsb.c b/lib/libvarnish/vsb.c
index 4c4570c7b..ef9f164b0 100644
--- a/lib/libvarnish/vsb.c
+++ b/lib/libvarnish/vsb.c
@@ -563,7 +563,7 @@ VSB_quote_pfx(struct vsb *s, const char *pfx, const void *v, int len, int how)
nl = 0;
switch (*q) {
case '?':
- if (how & (VSB_QUOTE_CSTR | VSB_QUOTE_GLOB))
+ if (how & VSB_QUOTE_CSTR)
(void)VSB_putc(s, '\\');
(void)VSB_putc(s, *q);
break;
@@ -571,10 +571,6 @@ VSB_quote_pfx(struct vsb *s, const char *pfx, const void *v, int len, int how)
(void)VSB_putc(s, *q);
break;
case '\\':
- if (!(how & (VSB_QUOTE_UNSAFE)))
- (void)VSB_putc(s, '\\');
- (void)VSB_putc(s, *q);
- break;
case '"':
if (!(how & VSB_QUOTE_UNSAFE))
(void)VSB_putc(s, '\\');
@@ -586,38 +582,18 @@ VSB_quote_pfx(struct vsb *s, const char *pfx, const void *v, int len, int how)
} else if (how & (VSB_QUOTE_NONL|VSB_QUOTE_UNSAFE)) {
(void)VSB_printf(s, "\n");
nl = 1;
- } else if (how & VSB_QUOTE_GLOB) {
- (void)VSB_printf(s, "\\\\n");
} else {
(void)VSB_printf(s, "\\n");
}
break;
case '\r':
- if (how & VSB_QUOTE_GLOB)
- (void)VSB_cat(s, "\\\\r");
- else
- (void)VSB_cat(s, "\\r");
+ (void)VSB_cat(s, "\\r");
break;
case '\t':
- if (how & VSB_QUOTE_GLOB)
- (void)VSB_cat(s, "\\\\t");
- else
- (void)VSB_cat(s, "\\t");
+ (void)VSB_cat(s, "\\t");
break;
case '\v':
- if (how & VSB_QUOTE_GLOB)
- (void)VSB_cat(s, "\\\\v");
- else
- (void)VSB_cat(s, "\\v");
- break;
- case '[':
- case ']':
- case '{':
- case '}':
- case '*':
- if (how & VSB_QUOTE_GLOB)
- (void)VSB_putc(s, '\\');
- (void)VSB_putc(s, *q);
+ (void)VSB_cat(s, "\\v");
break;
default:
/* XXX: Implement VSB_QUOTE_JSON */
diff --git a/lib/libvarnish/vsb_test.c b/lib/libvarnish/vsb_test.c
index c6e4866ff..9ac60154c 100644
--- a/lib/libvarnish/vsb_test.c
+++ b/lib/libvarnish/vsb_test.c
@@ -16,26 +16,6 @@ struct tc {
static struct tc tcs[] = {
{
- VSB_QUOTE_GLOB,
- "abcdefghijklmnopqrstvwxyz",
- "abcdefghijklmnopqrstvwxyz"
- }, {
- VSB_QUOTE_GLOB,
- "ABCDEFGHIJKLMNOPQRSTVWXYZ",
- "ABCDEFGHIJKLMNOPQRSTVWXYZ"
- }, {
- VSB_QUOTE_GLOB,
- "01234567789",
- "01234567789"
- }, {
- VSB_QUOTE_GLOB,
- "abcde[f-g]{h,i,j}\\l?*xyz",
- "abcde\\[f-g\\]\\{h,i,j\\}\\\\l\\?\\*xyz"
- }, {
- VSB_QUOTE_GLOB,
- "0123\t \"\r\v\n'",
- "0123\\\\t \\\"\\\\r\\\\v\\\\n'"
- }, {
0, NULL, NULL
}
};
More information about the varnish-commit
mailing list