| line | true | false | branch | 
 
| 34 | 0 | 27 | if (initial_size) | 
 
| 43 | 53 | 0 | if (buf->ptr == gh_buf__oom) | 
 
| 46 | 53 | 0 | if (target_size <= buf->asize) | 
 
| 49 | 26 | 27 | if (buf->asize == 0) { | 
 
| 59 | 28 | 53 | while (new_size < target_size) | 
 
| 67 | 0 | 53 | if (!new_ptr) { | 
 
| 68 | 0 | 0 | if (mark_oom) | 
 
| 77 | 0 | 53 | if (buf->size >= buf->asize) | 
 
| 86 | 27 | 0 | if (!buf) return; | 
 
| 88 | 27 | 0 | if (buf->ptr != gh_buf__initbuf && buf->ptr != gh_buf__oom) | 
 
|  | 27 | 0 | if (buf->ptr != gh_buf__initbuf && buf->ptr != gh_buf__oom) | 
 
| 97 | 0 | 0 | if (buf->asize > 0) | 
 
| 103 | 0 | 0 | if (len == 0 || data == NULL) { | 
 
| 106 | 0 | 0 | if (data != buf->ptr) { | 
 
| 118 | 0 | 0 | return gh_buf_set(buf, string, string ? strlen(string) : 0); | 
 
| 140 | 0 | 22 | assert(string); | 
 
| 149 | 0 | 0 | ENSURE_SIZE(buf, expected_size); | 
 
|  | 0 | 0 | ENSURE_SIZE(buf, expected_size); | 
 
| 161 | 0 | 0 | if (len < 0) { | 
 
| 167 | 0 | 0 | if ((size_t)len + 1 <= buf->asize - buf->size) { | 
 
| 194 | 0 | 0 | assert(data && datasize && buf); | 
 
|  | 0 | 0 | assert(data && datasize && buf); | 
 
| 198 | 0 | 0 | if (buf->size == 0 || buf->asize <= 0) | 
 
|  | 0 | 0 | if (buf->size == 0 || buf->asize <= 0) | 
 
| 202 | 0 | 0 | if (copylen > datasize - 1) | 
 
| 219 | 0 | 0 | if (buf->asize == 0 || buf->ptr == gh_buf__oom) | 
 
|  | 0 | 0 | if (buf->asize == 0 || buf->ptr == gh_buf__oom) | 
 
| 231 | 0 | 0 | if (ptr) { | 
 
| 234 | 0 | 0 | if (asize) | 
 
| 235 | 0 | 0 | buf->asize = (asize < buf->size) ? buf->size + 1 : asize; | 
 
| 246 | 0 | 0 | return (result != 0) ? result : | 
 
| 247 | 0 | 0 | (a->size < b->size) ? -1 : (a->size > b->size) ? 1 : 0; |