35 #define str_clear_right_spaces(s) (s) 37 #define APPEND_HEADER(head, hdr) \ 39 if ((head) == NULL) { \ 42 rfc2822_hdr_T *p = (head); \ 43 while (p->next != NULL) \ 49 #define LOG_HEADER(h) \ 51 ZE_MessageInfo(15, "hdr->key : %s", h->key); \ 52 ZE_MessageInfo(15, "hdr->value : %s", h->value); \ 53 ZE_MessageInfo(15, "------------"); \ 57 static char *append2line(
char *line,
char *str);
89 if (strlen(line) == 0)
92 if (strspn(line,
" \t") == 0)
99 hdr = line2header(cline);
105 if (
strchr(line,
':') == NULL)
111 cline = append2line(cline, line);
120 cline = append2line(cline, line);
127 hdr = line2header(cline);
151 if (strcasecmp(head->
key, key) == 0)
170 return header->
value;
184 if (header == NULL || header->
value == NULL)
187 n = strcspn(header->
value,
"; \t");
188 if ((p = malloc(n + 1)) != NULL)
209 if (head == NULL || head->
value == NULL || attr == NULL)
219 if (*s ==
'"' || *s ==
'\'')
225 n = strcspn(s,
"\"\'");
227 n = strcspn(s,
"<>@,;:\\/[]?=\"" " \t");
229 value = malloc(n + 1);
243 get_attr_from_header(hdr, key)
257 append2line(line, str)
266 if ((p = strdup(str)) == NULL)
271 sz = strlen(line) + strlen(str) + 1;
272 p = realloc(line, sz);
301 if ((c =
strchr(line,
':')) != NULL)
305 c += strspn(c,
" \t");
308 if (p->
value != NULL)
#define str_clear_right_spaces(s)
bool zeStrRegex(char *, char *, long *, long *, bool)
#define ZE_MessageInfo(level,...)
int zeSafeStrnCpy(char *, size_t, char *, size_t)
#define ZE_LogSysError(...)
#define APPEND_HEADER(head, hdr)
char * buf_get_next_line(char *, char *, size_t)
char * zeStr2Lower(char *)