diff options
Diffstat (limited to '')
| -rw-r--r-- | parsing.c | 49 | 
1 files changed, 0 insertions, 49 deletions
| @@ -8,55 +8,6 @@  #include "cgit.h" -char *convert_query_hexchar(char *txt) -{ -	int d1, d2; -	if (strlen(txt) < 3) { -		*txt = '\0'; -		return txt-1; -	} -	d1 = hextoint(*(txt+1)); -	d2 = hextoint(*(txt+2)); -	if (d1<0 || d2<0) { -		strcpy(txt, txt+3); -		return txt-1; -	} else { -		*txt = d1 * 16 + d2; -		strcpy(txt+1, txt+3); -		return txt; -	} -} - -int cgit_parse_query(char *txt, configfn fn) -{ -	char *t, *value = NULL, c; - -	if (!txt) -		return 0; - -	t = txt = xstrdup(txt); - -	while((c=*t) != '\0') { -		if (c=='=') { -			*t = '\0'; -			value = t+1; -		} else if (c=='+') { -			*t = ' '; -		} else if (c=='%') { -			t = convert_query_hexchar(t); -		} else if (c=='&') { -			*t = '\0'; -			(*fn)(txt, value); -			txt = t+1; -			value = NULL; -		} -		t++; -	} -	if (t!=txt) -		(*fn)(txt, value); -	return 0; -} -  /*   * url syntax: [repo ['/' cmd [ '/' path]]]   *   repo: any valid repo url, may contain '/' | 
