| 3059 | } |
| 3060 | |
| 3061 | AP_DECLARE(void) ap_varbuf_strmemcat(struct ap_varbuf *vb, const char *str, |
| 3062 | int len) |
| 3063 | { |
| 3064 | if (len == 0) |
| 3065 | return; |
| 3066 | if (!vb->avail) { |
| 3067 | ap_varbuf_grow(vb, len); |
| 3068 | memcpy(vb->buf, str, len); |
| 3069 | vb->buf[len] = '\0'; |
| 3070 | vb->strlen = len; |
| 3071 | return; |
| 3072 | } |
| 3073 | if (vb->strlen == AP_VARBUF_UNKNOWN) |
| 3074 | vb->strlen = strlen(vb->buf); |
| 3075 | ap_varbuf_grow(vb, vb->strlen + len); |
| 3076 | memcpy(vb->buf + vb->strlen, str, len); |
| 3077 | vb->strlen += len; |
| 3078 | vb->buf[vb->strlen] = '\0'; |
| 3079 | } |
| 3080 | |
| 3081 | AP_DECLARE(void) ap_varbuf_free(struct ap_varbuf *vb) |
| 3082 | { |
no test coverage detected