mirror of
https://github.com/sigmasternchen/CFloor
synced 2025-03-15 12:28:53 +00:00
we now can remove headers
This commit is contained in:
parent
5fe0874c5c
commit
b06e3a2f45
2 changed files with 15 additions and 0 deletions
|
@ -26,6 +26,20 @@ const char* headers_get(struct headers* headers, const char* key) {
|
|||
return headers->headers[tmp].value;
|
||||
}
|
||||
|
||||
int headers_remove(struct headers* headers, const char* key) {
|
||||
int tmp = headers_find(headers, key);
|
||||
if (tmp < 0)
|
||||
return -1;
|
||||
struct header header = headers->headers[tmp];
|
||||
memmove(headers->headers + tmp * sizeof(struct header), headers->headers + (tmp + 1) * sizeof(struct header), sizeof(struct header) * (headers->number - tmp - 1));
|
||||
headers->number--;
|
||||
|
||||
free(header.key);
|
||||
free(header.value);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int headers_mod(struct headers* headers, const char* _key, const char* _value) {
|
||||
char* tmp = strclone(_key);
|
||||
if (tmp == NULL) {
|
||||
|
|
|
@ -22,6 +22,7 @@ struct headers {
|
|||
|
||||
struct headers headers_create();
|
||||
const char* headers_get(struct headers* headers, const char* key);
|
||||
int headers_remove(struct headers* headers, const char* key);
|
||||
int headers_mod(struct headers* headers, const char* key, const char* value);
|
||||
int headers_parse(struct headers* headers, const char* currentHeader, size_t length);
|
||||
void headers_free(struct headers* headers);
|
||||
|
|
Loading…
Reference in a new issue