Lines Matching refs:qs
58 static int burl_normalize_basic_unreserved_fix (buffer *b, buffer *t, int i, int qs) in burl_normalize_basic_unreserved_fix() argument
70 if (__builtin_expect( (s[i] == '?'), 0) && -1 == qs) qs = j; in burl_normalize_basic_unreserved_fix()
81 if (li_utf8_invalid_byte(x)) qs = -2; in burl_normalize_basic_unreserved_fix()
90 if (li_utf8_invalid_byte(s[i])) qs = -2; in burl_normalize_basic_unreserved_fix()
94 return qs; in burl_normalize_basic_unreserved_fix()
103 int qs = -1; in burl_normalize_basic_unreserved() local
107 if (__builtin_expect( (s[i] == '?'), 0) && -1 == qs) qs = i; in burl_normalize_basic_unreserved()
111 if (li_utf8_invalid_byte(x)) qs = -2; in burl_normalize_basic_unreserved()
121 qs = burl_normalize_basic_unreserved_fix(b, t, i, qs); in burl_normalize_basic_unreserved()
126 return qs; in burl_normalize_basic_unreserved()
130 static int burl_normalize_basic_required_fix (buffer *b, buffer *t, int i, int qs) in burl_normalize_basic_required_fix() argument
143 if (__builtin_expect( (s[i] == '?'), 0)) qs = j; in burl_normalize_basic_required_fix()
148 && (qs < 0 in burl_normalize_basic_required_fix()
170 return !invalid_utf8 ? qs : -2; in burl_normalize_basic_required_fix()
179 int qs = -1; in burl_normalize_basic_required() local
184 if (s[i] == '?') qs = i; in burl_normalize_basic_required()
188 || (qs < 0 in burl_normalize_basic_required()
201 qs = burl_normalize_basic_required_fix(b, t, i, qs); in burl_normalize_basic_required()
206 return !invalid_utf8 ? qs : -2; in burl_normalize_basic_required()
238 static void burl_normalize_qs20_to_plus (buffer *b, int qs) in burl_normalize_qs20_to_plus() argument
241 const int used = qs < 0 ? 0 : (int)buffer_clen(b); in burl_normalize_qs20_to_plus()
243 if (qs < 0) return; in burl_normalize_qs20_to_plus()
244 for (i = qs+1; i < used; ++i) { in burl_normalize_qs20_to_plus()
251 static int burl_normalize_2F_to_slash_fix (buffer *b, int qs, int i) in burl_normalize_2F_to_slash_fix() argument
255 const int used = qs < 0 ? blen : qs; in burl_normalize_2F_to_slash_fix()
264 if (qs >= 0) { in burl_normalize_2F_to_slash_fix()
265 const int qslen = blen - qs; in burl_normalize_2F_to_slash_fix()
266 memmove(s+j, s+qs, (size_t)qslen); in burl_normalize_2F_to_slash_fix()
267 qs = j; in burl_normalize_2F_to_slash_fix()
271 return qs; in burl_normalize_2F_to_slash_fix()
275 static int burl_normalize_2F_to_slash (buffer *b, int qs, int flags) in burl_normalize_2F_to_slash() argument
279 const int used = qs < 0 ? (int)buffer_clen(b) : qs; in burl_normalize_2F_to_slash()
283 ? burl_normalize_2F_to_slash_fix(b, qs, i) in burl_normalize_2F_to_slash()
287 return qs; in burl_normalize_2F_to_slash()
291 static int burl_normalize_path (buffer *b, buffer *t, int qs, int flags) in burl_normalize_path() argument
296 for (int i = 0, len = qs < 0 ? used : qs; i < len; ++i) { in burl_normalize_path()
311 if (qs >= 0) { in burl_normalize_path()
312 buffer_copy_string_len(t, b->ptr+qs, used - qs); in burl_normalize_path()
313 buffer_truncate(b, qs); in burl_normalize_path()
318 if (qs >= 0) { in burl_normalize_path()
319 qs = (int)buffer_clen(b); in burl_normalize_path()
324 return qs; in burl_normalize_path()
339 int qs; in burl_normalize() local
353 qs = (flags & HTTP_PARSEOPT_URL_NORMALIZE_REQUIRED) in burl_normalize()
356 if (-2 == qs) { in burl_normalize()
358 qs = burl_scan_qmark(b); in burl_normalize()
367 qs = burl_normalize_2F_to_slash(b, qs, flags); in burl_normalize()
368 if (-2 == qs) return -2; in burl_normalize()
373 qs = burl_normalize_path(b, t, qs, flags); in burl_normalize()
374 if (-2 == qs) return -2; in burl_normalize()
378 if (qs >= 0) burl_normalize_qs20_to_plus(b, qs); in burl_normalize()
381 return qs; in burl_normalize()