diff options
| author | Lars Hjemli <hjemli@gmail.com> | 2008-04-08 21:11:36 +0200 | 
|---|---|---|
| committer | Lars Hjemli <hjemli@gmail.com> | 2008-04-08 21:11:36 +0200 | 
| commit | e87e89633383b8b75c68c98be3e0c14212109de2 (patch) | |
| tree | f57e131ab854b58023387aee8efc0e4ee54653b5 /parsing.c | |
| parent | Move function for configfile parsing into configfile.[ch] (diff) | |
| download | cgit-e87e89633383b8b75c68c98be3e0c14212109de2.tar.gz cgit-e87e89633383b8b75c68c98be3e0c14212109de2.tar.bz2 cgit-e87e89633383b8b75c68c98be3e0c14212109de2.zip | |
Move cgit_parse_query() from parsing.c to html.c as http_parse_querystring()
This is a generic http-function.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
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 '/' | 
