Once you've used a va_list, you can't use it again until you
reinitialize it with va_start(). (Yes, there are platforms where reusing the va_arg fails, e.g. Mac OS X on x86-64.) svn path=/trunk/; revision=32961
This commit is contained in:
parent
ea0c9d6b14
commit
ebc3739570
|
@ -346,7 +346,6 @@ col_prepend_fstr(column_info *cinfo, const gint el, const gchar *format, ...)
|
||||||
else
|
else
|
||||||
max_len = COL_MAX_LEN;
|
max_len = COL_MAX_LEN;
|
||||||
|
|
||||||
va_start(ap, format);
|
|
||||||
for (i = cinfo->col_first[el]; i <= cinfo->col_last[el]; i++) {
|
for (i = cinfo->col_first[el]; i <= cinfo->col_last[el]; i++) {
|
||||||
if (cinfo->fmt_matx[i][el]) {
|
if (cinfo->fmt_matx[i][el]) {
|
||||||
if (cinfo->col_data[i] != cinfo->col_buf[i]) {
|
if (cinfo->col_data[i] != cinfo->col_buf[i]) {
|
||||||
|
@ -356,7 +355,9 @@ col_prepend_fstr(column_info *cinfo, const gint el, const gchar *format, ...)
|
||||||
g_strlcpy(orig_buf, cinfo->col_buf[i], max_len);
|
g_strlcpy(orig_buf, cinfo->col_buf[i], max_len);
|
||||||
orig = orig_buf;
|
orig = orig_buf;
|
||||||
}
|
}
|
||||||
|
va_start(ap, format);
|
||||||
g_vsnprintf(cinfo->col_buf[i], max_len, format, ap);
|
g_vsnprintf(cinfo->col_buf[i], max_len, format, ap);
|
||||||
|
va_end(ap);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Move the fence, unless it's at the beginning of the string.
|
* Move the fence, unless it's at the beginning of the string.
|
||||||
|
@ -368,7 +369,6 @@ col_prepend_fstr(column_info *cinfo, const gint el, const gchar *format, ...)
|
||||||
cinfo->col_data[i] = cinfo->col_buf[i];
|
cinfo->col_data[i] = cinfo->col_buf[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
va_end(ap);
|
|
||||||
}
|
}
|
||||||
void
|
void
|
||||||
col_prepend_fence_fstr(column_info *cinfo, const gint el, const gchar *format, ...)
|
col_prepend_fence_fstr(column_info *cinfo, const gint el, const gchar *format, ...)
|
||||||
|
@ -387,7 +387,6 @@ col_prepend_fence_fstr(column_info *cinfo, const gint el, const gchar *format, .
|
||||||
else
|
else
|
||||||
max_len = COL_MAX_LEN;
|
max_len = COL_MAX_LEN;
|
||||||
|
|
||||||
va_start(ap, format);
|
|
||||||
for (i = cinfo->col_first[el]; i <= cinfo->col_last[el]; i++) {
|
for (i = cinfo->col_first[el]; i <= cinfo->col_last[el]; i++) {
|
||||||
if (cinfo->fmt_matx[i][el]) {
|
if (cinfo->fmt_matx[i][el]) {
|
||||||
if (cinfo->col_data[i] != cinfo->col_buf[i]) {
|
if (cinfo->col_data[i] != cinfo->col_buf[i]) {
|
||||||
|
@ -397,7 +396,9 @@ col_prepend_fence_fstr(column_info *cinfo, const gint el, const gchar *format, .
|
||||||
g_strlcpy(orig_buf, cinfo->col_buf[i], max_len);
|
g_strlcpy(orig_buf, cinfo->col_buf[i], max_len);
|
||||||
orig = orig_buf;
|
orig = orig_buf;
|
||||||
}
|
}
|
||||||
|
va_start(ap, format);
|
||||||
g_vsnprintf(cinfo->col_buf[i], max_len, format, ap);
|
g_vsnprintf(cinfo->col_buf[i], max_len, format, ap);
|
||||||
|
va_end(ap);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Move the fence if it exists, else create a new fence at the
|
* Move the fence if it exists, else create a new fence at the
|
||||||
|
@ -412,7 +413,6 @@ col_prepend_fence_fstr(column_info *cinfo, const gint el, const gchar *format, .
|
||||||
cinfo->col_data[i] = cinfo->col_buf[i];
|
cinfo->col_data[i] = cinfo->col_buf[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
va_end(ap);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Use this if "str" points to something that won't stay around (and
|
/* Use this if "str" points to something that won't stay around (and
|
||||||
|
@ -513,7 +513,6 @@ col_add_fstr(column_info *cinfo, const gint el, const gchar *format, ...) {
|
||||||
else
|
else
|
||||||
max_len = COL_MAX_LEN;
|
max_len = COL_MAX_LEN;
|
||||||
|
|
||||||
va_start(ap, format);
|
|
||||||
for (i = cinfo->col_first[el]; i <= cinfo->col_last[el]; i++) {
|
for (i = cinfo->col_first[el]; i <= cinfo->col_last[el]; i++) {
|
||||||
if (cinfo->fmt_matx[i][el]) {
|
if (cinfo->fmt_matx[i][el]) {
|
||||||
fence = cinfo->col_fence[i];
|
fence = cinfo->col_fence[i];
|
||||||
|
@ -529,10 +528,11 @@ col_add_fstr(column_info *cinfo, const gint el, const gchar *format, ...) {
|
||||||
*/
|
*/
|
||||||
cinfo->col_data[i] = cinfo->col_buf[i];
|
cinfo->col_data[i] = cinfo->col_buf[i];
|
||||||
}
|
}
|
||||||
|
va_start(ap, format);
|
||||||
g_vsnprintf(&cinfo->col_buf[i][fence], max_len - fence, format, ap);
|
g_vsnprintf(&cinfo->col_buf[i][fence], max_len - fence, format, ap);
|
||||||
|
va_end(ap);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
va_end(ap);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Reference in New Issue