|
|
| version 1.13.2.1, 2012/09/03 09:26:34 | version 1.13.2.2, 2012/09/10 12:03:56 |
|---|---|
| Line 778 io_sprintfVar(ait_val_t * __restrict v, const char *fm | Line 778 io_sprintfVar(ait_val_t * __restrict v, const char *fm |
| free(str); | free(str); |
| return ret; | return ret; |
| } | } |
| /* | |
| * io_setlikeVar() - Set variable like ... | |
| * | |
| * @v = variable | |
| * @t = type of data | |
| * @l = length of data | |
| * @... = data | |
| * return: -1 error or 0 ok | |
| */ | |
| inline int | |
| io_setlikeVar(ait_val_t * __restrict v, ait_type_t t, u_int l, ...) | |
| { | |
| va_list lst; | |
| if (!v) | |
| return -1; | |
| AIT_FREE_VAL(v); | |
| AIT_INIT_VAL2(v, t); | |
| AIT_LEN(v) = l; | |
| AIT_IN(v) = 1; | |
| va_start(lst, l); | |
| switch (AIT_TYPE(v)) { | |
| case ptr: | |
| case buffer: | |
| case string: | |
| AIT_ADDR(v) = va_arg(lst, void*); | |
| break; | |
| default: | |
| AIT_RAW(v) = va_arg(lst, uint64_t); | |
| break; | |
| } | |
| va_end(lst); | |
| return 0; | |
| } |