[C] Refactoring
This commit is contained in:
parent
d2bed0fdf1
commit
ae2f363fd4
37
lib/fort.c
37
lib/fort.c
@ -5595,11 +5595,30 @@ fort_row_t *create_row_from_buffer(const string_buffer_t *buffer)
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
vsnprintf_buffer(string_buffer_t *buffer, const struct ft_gen_string *fmt,
|
||||
va_list *va)
|
||||
{
|
||||
switch (buffer->type) {
|
||||
case CHAR_BUF:
|
||||
return vsnprintf(buffer->str.cstr, string_buffer_width_capacity(buffer), fmt->u.cstr, *va);
|
||||
#ifdef FT_HAVE_WCHAR
|
||||
case W_CHAR_BUF:
|
||||
return vswprintf(buffer->str.wstr, string_buffer_width_capacity(buffer), fmt->u.wstr, *va);
|
||||
#endif
|
||||
#ifdef FT_HAVE_UTF8
|
||||
case UTF8_BUF:
|
||||
return vsnprintf(buffer->str.cstr, string_buffer_width_capacity(buffer), fmt->u.cstr, *va);
|
||||
#endif
|
||||
default:
|
||||
assert(0);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
FT_INTERNAL
|
||||
fort_row_t *create_row_from_fmt_string(const char *fmt, va_list *va_args)
|
||||
{
|
||||
#define VSNPRINTF vsnprintf
|
||||
#define STR_FILED cstr
|
||||
#define STR_BUF_TYPE CHAR_BUF
|
||||
|
||||
string_buffer_t *buffer = create_string_buffer(DEFAULT_STR_BUF_SIZE, STR_BUF_TYPE);
|
||||
@ -5608,7 +5627,7 @@ fort_row_t *create_row_from_fmt_string(const char *fmt, va_list *va_args)
|
||||
|
||||
/* tmp: remove after refactoring */
|
||||
struct ft_gen_string fmt_str;
|
||||
fmt_str.type = CHAR_BUF;
|
||||
fmt_str.type = STR_BUF_TYPE;
|
||||
fmt_str.u.cstr = fmt;
|
||||
|
||||
size_t cols_origin = number_of_columns_in_format_string2(&fmt_str);
|
||||
@ -5617,7 +5636,7 @@ fort_row_t *create_row_from_fmt_string(const char *fmt, va_list *va_args)
|
||||
while (1) {
|
||||
va_list va;
|
||||
va_copy(va, *va_args);
|
||||
int virtual_sz = VSNPRINTF(buffer->str.STR_FILED, string_buffer_width_capacity(buffer), fmt, va);
|
||||
int virtual_sz = vsnprintf_buffer(buffer, &fmt_str, &va);
|
||||
va_end(va);
|
||||
/* If error encountered */
|
||||
if (virtual_sz < 0)
|
||||
@ -5673,8 +5692,6 @@ fort_row_t *create_row_from_fmt_string(const char *fmt, va_list *va_args)
|
||||
clear:
|
||||
destroy_string_buffer(buffer);
|
||||
return NULL;
|
||||
#undef VSNPRINTF
|
||||
#undef STR_FILED
|
||||
#undef STR_BUF_TYPE
|
||||
}
|
||||
|
||||
@ -5682,8 +5699,6 @@ clear:
|
||||
FT_INTERNAL
|
||||
fort_row_t *create_row_from_fmt_wstring(const wchar_t *fmt, va_list *va_args)
|
||||
{
|
||||
#define VSNPRINTF vswprintf
|
||||
#define STR_FILED wstr
|
||||
#define STR_BUF_TYPE W_CHAR_BUF
|
||||
|
||||
string_buffer_t *buffer = create_string_buffer(DEFAULT_STR_BUF_SIZE, STR_BUF_TYPE);
|
||||
@ -5692,7 +5707,7 @@ fort_row_t *create_row_from_fmt_wstring(const wchar_t *fmt, va_list *va_args)
|
||||
|
||||
/* tmp: remove after refactoring */
|
||||
struct ft_gen_string fmt_str;
|
||||
fmt_str.type = W_CHAR_BUF;
|
||||
fmt_str.type = STR_BUF_TYPE;
|
||||
fmt_str.u.wstr = fmt;
|
||||
|
||||
size_t cols_origin = number_of_columns_in_format_string2(&fmt_str);
|
||||
@ -5701,7 +5716,7 @@ fort_row_t *create_row_from_fmt_wstring(const wchar_t *fmt, va_list *va_args)
|
||||
while (1) {
|
||||
va_list va;
|
||||
va_copy(va, *va_args);
|
||||
int virtual_sz = VSNPRINTF(buffer->str.STR_FILED, string_buffer_width_capacity(buffer), fmt, va);
|
||||
int virtual_sz = vsnprintf_buffer(buffer, &fmt_str, &va);
|
||||
va_end(va);
|
||||
/* If error encountered */
|
||||
if (virtual_sz < 0)
|
||||
@ -5758,8 +5773,6 @@ fort_row_t *create_row_from_fmt_wstring(const wchar_t *fmt, va_list *va_args)
|
||||
clear:
|
||||
destroy_string_buffer(buffer);
|
||||
return NULL;
|
||||
#undef VSNPRINTF
|
||||
#undef STR_FILED
|
||||
#undef STR_BUF_TYPE
|
||||
}
|
||||
#endif
|
||||
|
37
src/row.c
37
src/row.c
@ -615,11 +615,30 @@ fort_row_t *create_row_from_buffer(const string_buffer_t *buffer)
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
vsnprintf_buffer(string_buffer_t *buffer, const struct ft_gen_string *fmt,
|
||||
va_list *va)
|
||||
{
|
||||
switch (buffer->type) {
|
||||
case CHAR_BUF:
|
||||
return vsnprintf(buffer->str.cstr, string_buffer_width_capacity(buffer), fmt->u.cstr, *va);
|
||||
#ifdef FT_HAVE_WCHAR
|
||||
case W_CHAR_BUF:
|
||||
return vswprintf(buffer->str.wstr, string_buffer_width_capacity(buffer), fmt->u.wstr, *va);
|
||||
#endif
|
||||
#ifdef FT_HAVE_UTF8
|
||||
case UTF8_BUF:
|
||||
return vsnprintf(buffer->str.cstr, string_buffer_width_capacity(buffer), fmt->u.cstr, *va);
|
||||
#endif
|
||||
default:
|
||||
assert(0);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
FT_INTERNAL
|
||||
fort_row_t *create_row_from_fmt_string(const char *fmt, va_list *va_args)
|
||||
{
|
||||
#define VSNPRINTF vsnprintf
|
||||
#define STR_FILED cstr
|
||||
#define STR_BUF_TYPE CHAR_BUF
|
||||
|
||||
string_buffer_t *buffer = create_string_buffer(DEFAULT_STR_BUF_SIZE, STR_BUF_TYPE);
|
||||
@ -628,7 +647,7 @@ fort_row_t *create_row_from_fmt_string(const char *fmt, va_list *va_args)
|
||||
|
||||
/* tmp: remove after refactoring */
|
||||
struct ft_gen_string fmt_str;
|
||||
fmt_str.type = CHAR_BUF;
|
||||
fmt_str.type = STR_BUF_TYPE;
|
||||
fmt_str.u.cstr = fmt;
|
||||
|
||||
size_t cols_origin = number_of_columns_in_format_string2(&fmt_str);
|
||||
@ -637,7 +656,7 @@ fort_row_t *create_row_from_fmt_string(const char *fmt, va_list *va_args)
|
||||
while (1) {
|
||||
va_list va;
|
||||
va_copy(va, *va_args);
|
||||
int virtual_sz = VSNPRINTF(buffer->str.STR_FILED, string_buffer_width_capacity(buffer), fmt, va);
|
||||
int virtual_sz = vsnprintf_buffer(buffer, &fmt_str, &va);
|
||||
va_end(va);
|
||||
/* If error encountered */
|
||||
if (virtual_sz < 0)
|
||||
@ -693,8 +712,6 @@ fort_row_t *create_row_from_fmt_string(const char *fmt, va_list *va_args)
|
||||
clear:
|
||||
destroy_string_buffer(buffer);
|
||||
return NULL;
|
||||
#undef VSNPRINTF
|
||||
#undef STR_FILED
|
||||
#undef STR_BUF_TYPE
|
||||
}
|
||||
|
||||
@ -702,8 +719,6 @@ clear:
|
||||
FT_INTERNAL
|
||||
fort_row_t *create_row_from_fmt_wstring(const wchar_t *fmt, va_list *va_args)
|
||||
{
|
||||
#define VSNPRINTF vswprintf
|
||||
#define STR_FILED wstr
|
||||
#define STR_BUF_TYPE W_CHAR_BUF
|
||||
|
||||
string_buffer_t *buffer = create_string_buffer(DEFAULT_STR_BUF_SIZE, STR_BUF_TYPE);
|
||||
@ -712,7 +727,7 @@ fort_row_t *create_row_from_fmt_wstring(const wchar_t *fmt, va_list *va_args)
|
||||
|
||||
/* tmp: remove after refactoring */
|
||||
struct ft_gen_string fmt_str;
|
||||
fmt_str.type = W_CHAR_BUF;
|
||||
fmt_str.type = STR_BUF_TYPE;
|
||||
fmt_str.u.wstr = fmt;
|
||||
|
||||
size_t cols_origin = number_of_columns_in_format_string2(&fmt_str);
|
||||
@ -721,7 +736,7 @@ fort_row_t *create_row_from_fmt_wstring(const wchar_t *fmt, va_list *va_args)
|
||||
while (1) {
|
||||
va_list va;
|
||||
va_copy(va, *va_args);
|
||||
int virtual_sz = VSNPRINTF(buffer->str.STR_FILED, string_buffer_width_capacity(buffer), fmt, va);
|
||||
int virtual_sz = vsnprintf_buffer(buffer, &fmt_str, &va);
|
||||
va_end(va);
|
||||
/* If error encountered */
|
||||
if (virtual_sz < 0)
|
||||
@ -778,8 +793,6 @@ fort_row_t *create_row_from_fmt_wstring(const wchar_t *fmt, va_list *va_args)
|
||||
clear:
|
||||
destroy_string_buffer(buffer);
|
||||
return NULL;
|
||||
#undef VSNPRINTF
|
||||
#undef STR_FILED
|
||||
#undef STR_BUF_TYPE
|
||||
}
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user