Changeset 0005b63 in mainline for uspace/lib/http/headers.c
- Timestamp:
- 2013-09-21T11:22:07Z (11 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- c17469e
- Parents:
- ff364f1
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/http/headers.c
rff364f1 r0005b63 49 49 } 50 50 51 http_header_t *http_header_create(const char *name, const char *value)51 void http_header_init(http_header_t *header) 52 52 { 53 char *dname = str_dup(name); 54 if (dname == NULL) 55 return NULL; 56 57 char *dvalue = str_dup(value); 58 if (dvalue == NULL) { 59 free(dname); 60 return NULL; 61 } 62 63 return http_header_create_no_copy(dname, dvalue); 53 link_initialize(&header->link); 54 header->name = NULL; 55 header->value = NULL; 64 56 } 65 57 66 http_header_t *http_header_create _no_copy(char *name,char *value)58 http_header_t *http_header_create(const char *name, const char *value) 67 59 { 68 60 http_header_t *header = malloc(sizeof(http_header_t)); 69 61 if (header == NULL) 70 62 return NULL; 63 http_header_init(header); 64 65 header->name = str_dup(name); 66 if (header->name == NULL) { 67 free(header); 68 return NULL; 69 } 71 70 72 link_initialize(&header->link); 73 header->name = name; 74 header->value = value; 75 71 header->value = str_dup(value); 72 if (header->value == NULL) { 73 free(header->name); 74 free(header); 75 return NULL; 76 } 77 76 78 return header; 77 79 } … … 84 86 } 85 87 86 ssize_t http_ encode_header(char *buf, size_t buf_size, http_header_t *header)88 ssize_t http_header_encode(http_header_t *header, char *buf, size_t buf_size) 87 89 { 88 90 /* TODO properly split long header values */ … … 96 98 } 97 99 98 int http_ parse_header(const char *line, char **out_name, char **out_value)100 int http_header_parse(const char *line, http_header_t *header) 99 101 { 100 102 const char *pos = line; … … 117 119 } 118 120 119 *out_name = name;120 *out_value = value;121 header->name = name; 122 header->value = value; 121 123 122 124 return EOK;
Note:
See TracChangeset
for help on using the changeset viewer.