return ch > 32 && ch < 127;
}
+/*
+ * All the fields used in "promisor-remote" protocol capability,
+ * including the mandatory "name" and "url" ones.
+ */
+static const char promisor_field_name[] = "name";
+static const char promisor_field_url[] = "url";
static const char promisor_field_filter[] = "partialCloneFilter";
static const char promisor_field_token[] = "token";
if (item != config_info.items)
strbuf_addch(&sb, ';');
- strbuf_addstr(&sb, "name=");
+ strbuf_addf(&sb, "%s=", promisor_field_name);
strbuf_addstr_urlencode(&sb, p->name, allow_unsanitized);
- strbuf_addstr(&sb, ",url=");
+ strbuf_addf(&sb, ",%s=", promisor_field_url);
strbuf_addstr_urlencode(&sb, p->url, allow_unsanitized);
if (p->filter) {
*p = '\0';
value = url_percent_decode(p + 1);
- if (!strcmp(elem, "name"))
+ if (!strcmp(elem, promisor_field_name))
info->name = value;
- else if (!strcmp(elem, "url"))
+ else if (!strcmp(elem, promisor_field_url))
info->url = value;
else if (!strcasecmp(elem, promisor_field_filter))
info->filter = value;