- sprintf(array.type_name,"%s[%ld]",former.type_name,size);
- xbt_free(former.type_name);
+ sprintf(array.type_name,"%s%s%s%s[%ld]",
+ (former.tm.is_unsigned?"u ":""),
+ (former.tm.is_short?"s ":""),
+ (former.tm.is_long?"l ":""),
+ former.type_name,
+ size);
+ free(former.type_name);