|
|
| version 1.22.2.7, 2012/07/30 13:54:49 | version 1.22.2.8, 2012/07/30 14:58:31 |
|---|---|
| Line 220 typedef struct { | Line 220 typedef struct { |
| } } while (0) | } } while (0) |
| #define AIT_SET_STRCAT(_vl, _v) do { ait_val_t *__val = (_vl); assert(__val); \ | #define AIT_SET_STRCAT(_vl, _v) do { ait_val_t *__val = (_vl); assert(__val); \ |
| assert(AIT_TYPE(__val) == string); \ | assert(AIT_TYPE(__val) == string); \ |
| if (!__val->val.string) \ | |
| AIT_LEN(__val) = 1; \ | |
| void *__p = io_realloc(__val->val.string, \ | void *__p = io_realloc(__val->val.string, \ |
| AIT_LEN(__val) + strlen((_v))); \ | AIT_LEN(__val) + strlen((_v))); \ |
| if (__p) { \ | if (__p) { \ |
| __val->val.string = __p; \ | |
| AIT_LEN(__val) += strlen((_v)); \ | AIT_LEN(__val) += strlen((_v)); \ |
| if (!__val->val.string) \ | |
| memset(__p, 0, AIT_LEN(__val)); \ | |
| __val->val.string = __p; \ | |
| strlcat((char*) __val->val.string, (_v), \ | strlcat((char*) __val->val.string, (_v), \ |
| AIT_LEN(__val)); \ | AIT_LEN(__val)); \ |
| } } while (0) | } else \ |
| if (!__val->val.string) \ | |
| AIT_LEN(__val) = 0; \ | |
| } while (0) | |
| #define AIT_SET_STRCPY(_vl, _v) do { ait_val_t *__val = (_vl); assert(__val); \ | #define AIT_SET_STRCPY(_vl, _v) do { ait_val_t *__val = (_vl); assert(__val); \ |
| assert(AIT_TYPE(__val) == string); \ | assert(AIT_TYPE(__val) == string); \ |
| void *__p = io_realloc(__val->val.string, \ | void *__p = io_realloc(__val->val.string, \ |