Lines Matching refs:b

49 #define li_utf8_invalid_byte(b) ((b) >= 0xF5 || ((b)|0x1) == 0xC1)  argument
58 static int burl_normalize_basic_unreserved_fix (buffer *b, buffer *t, int i, int qs) in burl_normalize_basic_unreserved_fix() argument
61 const int used = (int)buffer_clen(b); in burl_normalize_basic_unreserved_fix()
62 const unsigned char * const s = (unsigned char *)b->ptr; in burl_normalize_basic_unreserved_fix()
93 buffer_copy_string_len(b, (char *)p, (size_t)j); in burl_normalize_basic_unreserved_fix()
98 static int burl_normalize_basic_unreserved (buffer *b, buffer *t) in burl_normalize_basic_unreserved() argument
100 const unsigned char * const s = (unsigned char *)b->ptr; in burl_normalize_basic_unreserved()
101 const int used = (int)buffer_clen(b); in burl_normalize_basic_unreserved()
112 if (s[i+1] >= 'a') b->ptr[i+1] &= 0xdf; /* uppercase hex */ in burl_normalize_basic_unreserved()
113 if (s[i+2] >= 'a') b->ptr[i+2] &= 0xdf; /* uppercase hex */ in burl_normalize_basic_unreserved()
117 buffer_truncate(b, (size_t)i); in burl_normalize_basic_unreserved()
121 qs = burl_normalize_basic_unreserved_fix(b, t, i, 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
133 const int used = (int)buffer_clen(b); in burl_normalize_basic_required_fix()
134 const unsigned char * const s = (unsigned char *)b->ptr; in burl_normalize_basic_required_fix()
169 buffer_copy_string_len(b, (char *)p, (size_t)j); in burl_normalize_basic_required_fix()
174 static int burl_normalize_basic_required (buffer *b, buffer *t) in burl_normalize_basic_required() argument
176 const unsigned char * const s = (unsigned char *)b->ptr; in burl_normalize_basic_required()
177 const int used = (int)buffer_clen(b); in burl_normalize_basic_required()
192 if (s[i+1] >= 'a') b->ptr[i+1] &= 0xdf; /* uppercase hex */ in burl_normalize_basic_required()
193 if (s[i+2] >= 'a') b->ptr[i+2] &= 0xdf; /* uppercase hex */ in burl_normalize_basic_required()
197 buffer_truncate(b, (size_t)i); in burl_normalize_basic_required()
201 qs = burl_normalize_basic_required_fix(b, t, i, qs); in burl_normalize_basic_required()
210 static int burl_contains_ctrls (const buffer *b) in burl_contains_ctrls() argument
212 const char * const s = b->ptr; in burl_contains_ctrls()
213 const int used = (int)buffer_clen(b); in burl_contains_ctrls()
222 static void burl_normalize_qs20_to_plus_fix (buffer *b, int i) in burl_normalize_qs20_to_plus_fix() argument
224 char * const s = b->ptr; in burl_normalize_qs20_to_plus_fix()
225 const int used = (int)buffer_clen(b); in burl_normalize_qs20_to_plus_fix()
234 buffer_truncate(b, j); in burl_normalize_qs20_to_plus_fix()
238 static void burl_normalize_qs20_to_plus (buffer *b, int qs) in burl_normalize_qs20_to_plus() argument
240 const char * const s = b->ptr; in burl_normalize_qs20_to_plus()
241 const int used = qs < 0 ? 0 : (int)buffer_clen(b); in burl_normalize_qs20_to_plus()
247 if (i != used) burl_normalize_qs20_to_plus_fix(b, 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
253 char * const s = b->ptr; in burl_normalize_2F_to_slash_fix()
254 const int blen = (int)buffer_clen(b); in burl_normalize_2F_to_slash_fix()
270 buffer_truncate(b, j); 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
278 const char * const s = b->ptr; in burl_normalize_2F_to_slash()
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()
291 static int burl_normalize_path (buffer *b, buffer *t, int qs, int flags) in burl_normalize_path() argument
293 const unsigned char * const s = (unsigned char *)b->ptr; in burl_normalize_path()
294 const int used = (int)buffer_clen(b); 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()
316 buffer_path_simplify(b); in burl_normalize_path()
319 qs = (int)buffer_clen(b); in burl_normalize_path()
320 buffer_append_string_len(b, BUF_PTR_LEN(t)); in burl_normalize_path()
331 static int burl_scan_qmark (const buffer * const b) { in burl_scan_qmark() argument
332 const char * const qmark = strchr(b->ptr, '?'); in burl_scan_qmark()
333 return qmark ? (int)(qmark - b->ptr) : -1; in burl_scan_qmark()
337 int burl_normalize (buffer *b, buffer *t, int flags) in burl_normalize() argument
347 for (char *p = b->ptr; *p != '?' && *p != '\0'; ++p) { in burl_normalize()
354 ? burl_normalize_basic_required(b, t) in burl_normalize()
355 : burl_normalize_basic_unreserved(b, t); in burl_normalize()
358 qs = burl_scan_qmark(b); in burl_normalize()
362 if (burl_contains_ctrls(b)) return -2; in burl_normalize()
367 qs = burl_normalize_2F_to_slash(b, qs, flags); in burl_normalize()
373 qs = burl_normalize_path(b, t, qs, flags); in burl_normalize()
378 if (qs >= 0) burl_normalize_qs20_to_plus(b, qs); in burl_normalize()
385 static void burl_append_encode_nde (buffer * const b, const char * const str, const size_t len) in burl_append_encode_nde() argument
390 char * const p = buffer_string_prepare_append(b, len*3); in burl_append_encode_nde()
415 buffer_commit(b, j); in burl_append_encode_nde()
419 static void burl_append_encode_psnde (buffer * const b, const char * const str, const size_t len) in burl_append_encode_psnde() argument
424 char * const p = buffer_string_prepare_append(b, len*3); in burl_append_encode_psnde()
449 buffer_commit(b, j); in burl_append_encode_psnde()
453 static void burl_append_encode_all (buffer * const b, const char * const str, const size_t len) in burl_append_encode_all() argument
458 char * const p = buffer_string_prepare_append(b, len*3); in burl_append_encode_all()
470 buffer_commit(b, j); in burl_append_encode_all()
474 static void burl_offset_tolower (buffer * const b, const size_t off) in burl_offset_tolower() argument
477 for (char *p = b->ptr+off; p[0]; ++p) { in burl_offset_tolower()
485 static void burl_offset_toupper (buffer * const b, const size_t off) in burl_offset_toupper() argument
488 for (char *p = b->ptr+off; p[0]; ++p) { in burl_offset_toupper()
496 void burl_append (buffer * const b, const char * const str, const size_t len, const int flags) in burl_append() argument
503 buffer_append_string_len(b, str, len); in burl_append()
507 if (flags & (BURL_TOUPPER|BURL_TOLOWER)) off = buffer_clen(b); in burl_append()
510 buffer_append_string_len(b, str, len); in burl_append()
513 burl_append_encode_all(b, str, len); in burl_append()
516 burl_append_encode_nde(b, str, len); in burl_append()
519 burl_append_encode_psnde(b, str, len); in burl_append()
523 buffer_append_base64_encode_no_padding(b, s, len, BASE64_URL); in burl_append()
526 buffer_append_base64_decode(b, str, len, BASE64_URL); in burl_append()
533 ? burl_offset_tolower(b, off) /*(flags & BURL_TOLOWER)*/ in burl_append()
534 : burl_offset_toupper(b, off); /*(flags & BURL_TOUPPER)*/ in burl_append()