| line | true | false | branch | 
 
| 32 | 117 | 468 | if (flags & UNSAFE_DIGIT)      unsafe_generate(unsafe, 0, "0123456789"); | 
 
| 33 | 117 | 468 | if (flags & UNSAFE_ALPHA)      unsafe_generate(unsafe, 0, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"); | 
 
| 34 | 78 | 507 | if (flags & UNSAFE_SUBDELIMS)  unsafe_generate(unsafe, 0, "!$&'()*+,;="); | 
 
| 35 | 0 | 585 | if (flags & UNSAFE_GENDELIMS)  unsafe_generate(unsafe, 0, ":/?#[]@"); | 
 
| 36 | 0 | 585 | if (flags & UNSAFE_RESERVED)   unsafe_generate(unsafe, UNSAFE_SUBDELIMS | UNSAFE_GENDELIMS); | 
 
| 37 | 104 | 481 | if (flags & UNSAFE_UNRESERVED) unsafe_generate(unsafe, UNSAFE_ALPHA | UNSAFE_DIGIT, "-._~"); | 
 
| 38 | 52 | 533 | if (flags & UNSAFE_PCHAR)      unsafe_generate(unsafe, UNSAFE_UNRESERVED | UNSAFE_SUBDELIMS, ":@"); | 
 
| 39 | 533 | 52 | if (chars) while (char c = *chars++) unsafe[(unsigned char) c] = c; | 
 
|  | 8749 | 533 | if (chars) while (char c = *chars++) unsafe[(unsigned char) c] = c; | 
 
| 57 | 3315 | 13 | do { | 
 
| 62 | 130 | 3198 | _backward[uc][0] = FROM_HEX(c) << 4; | 
 
| 63 | 130 | 3198 | _backward[uc][1] = FROM_HEX(c); | 
 
| 78 | 1612 | 301 | while (str != end) { | 
 
| 80 | 1576 | 36 | if (unsafe[uc] != 0) *buf++ = unsafe[uc]; | 
 
| 96 | 116 | 15 | while (str != end) { | 
 
| 98 | 82 | 34 | if (res != 0) *buf++ = res; | 
 
| 99 | 34 | 0 | else if (str < end-1) { | 
 
| 108 | 13 | 0 | }} | 
 
|  | 13 | 0 | }} |