mirror of
https://github.com/vim/vim.git
synced 2025-09-28 04:24:06 -04:00
patch 7.4.1198
Problem: Still using __ARGS. Solution: Remove __ARGS in several files. (script by Hirohito Higashi) Also remove use of HAVE_STDARG_H.
This commit is contained in:
222
src/message.c
222
src/message.c
@@ -19,28 +19,28 @@
|
||||
# include <math.h>
|
||||
#endif
|
||||
|
||||
static int other_sourcing_name __ARGS((void));
|
||||
static char_u *get_emsg_source __ARGS((void));
|
||||
static char_u *get_emsg_lnum __ARGS((void));
|
||||
static void add_msg_hist __ARGS((char_u *s, int len, int attr));
|
||||
static void hit_return_msg __ARGS((void));
|
||||
static void msg_home_replace_attr __ARGS((char_u *fname, int attr));
|
||||
static int other_sourcing_name(void);
|
||||
static char_u *get_emsg_source(void);
|
||||
static char_u *get_emsg_lnum(void);
|
||||
static void add_msg_hist(char_u *s, int len, int attr);
|
||||
static void hit_return_msg(void);
|
||||
static void msg_home_replace_attr(char_u *fname, int attr);
|
||||
#ifdef FEAT_MBYTE
|
||||
static char_u *screen_puts_mbyte __ARGS((char_u *s, int l, int attr));
|
||||
static char_u *screen_puts_mbyte(char_u *s, int l, int attr);
|
||||
#endif
|
||||
static void msg_puts_attr_len __ARGS((char_u *str, int maxlen, int attr));
|
||||
static void msg_puts_display __ARGS((char_u *str, int maxlen, int attr, int recurse));
|
||||
static void msg_scroll_up __ARGS((void));
|
||||
static void inc_msg_scrolled __ARGS((void));
|
||||
static void store_sb_text __ARGS((char_u **sb_str, char_u *s, int attr, int *sb_col, int finish));
|
||||
static void t_puts __ARGS((int *t_col, char_u *t_s, char_u *s, int attr));
|
||||
static void msg_puts_printf __ARGS((char_u *str, int maxlen));
|
||||
static int do_more_prompt __ARGS((int typed_char));
|
||||
static void msg_screen_putchar __ARGS((int c, int attr));
|
||||
static int msg_check_screen __ARGS((void));
|
||||
static void redir_write __ARGS((char_u *s, int maxlen));
|
||||
static void msg_puts_attr_len(char_u *str, int maxlen, int attr);
|
||||
static void msg_puts_display(char_u *str, int maxlen, int attr, int recurse);
|
||||
static void msg_scroll_up(void);
|
||||
static void inc_msg_scrolled(void);
|
||||
static void store_sb_text(char_u **sb_str, char_u *s, int attr, int *sb_col, int finish);
|
||||
static void t_puts(int *t_col, char_u *t_s, char_u *s, int attr);
|
||||
static void msg_puts_printf(char_u *str, int maxlen);
|
||||
static int do_more_prompt(int typed_char);
|
||||
static void msg_screen_putchar(int c, int attr);
|
||||
static int msg_check_screen(void);
|
||||
static void redir_write(char_u *s, int maxlen);
|
||||
#ifdef FEAT_CON_DIALOG
|
||||
static char_u *msg_show_console_dialog __ARGS((char_u *message, char_u *buttons, int dfltbutton));
|
||||
static char_u *msg_show_console_dialog(char_u *message, char_u *buttons, int dfltbutton);
|
||||
static int confirm_msg_used = FALSE; /* displaying confirm_msg */
|
||||
static char_u *confirm_msg = NULL; /* ":confirm" message */
|
||||
static char_u *confirm_msg_tail; /* tail of confirm_msg */
|
||||
@@ -343,65 +343,13 @@ trunc_string(s, buf, room, buflen)
|
||||
* shorter than IOSIZE!!!
|
||||
*/
|
||||
#ifndef PROTO
|
||||
# ifndef HAVE_STDARG_H
|
||||
|
||||
int
|
||||
#ifdef __BORLANDC__
|
||||
_RTLENTRYF
|
||||
#endif
|
||||
smsg __ARGS((char_u *, long, long, long,
|
||||
long, long, long, long, long, long, long));
|
||||
int
|
||||
#ifdef __BORLANDC__
|
||||
_RTLENTRYF
|
||||
#endif
|
||||
smsg_attr __ARGS((int, char_u *, long, long, long,
|
||||
long, long, long, long, long, long, long));
|
||||
|
||||
int vim_snprintf __ARGS((char *, size_t, char *, long, long, long,
|
||||
long, long, long, long, long, long, long));
|
||||
|
||||
/*
|
||||
* smsg(str, arg, ...) is like using sprintf(buf, str, arg, ...) and then
|
||||
* calling msg(buf).
|
||||
* The buffer used is IObuff, the message is truncated at IOSIZE.
|
||||
*/
|
||||
|
||||
/* VARARGS */
|
||||
int
|
||||
#ifdef __BORLANDC__
|
||||
_RTLENTRYF
|
||||
#endif
|
||||
smsg(s, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
|
||||
char_u *s;
|
||||
long a1, a2, a3, a4, a5, a6, a7, a8, a9, a10;
|
||||
{
|
||||
return smsg_attr(0, s, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
|
||||
}
|
||||
|
||||
/* VARARGS */
|
||||
int
|
||||
#ifdef __BORLANDC__
|
||||
_RTLENTRYF
|
||||
#endif
|
||||
smsg_attr(attr, s, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
|
||||
int attr;
|
||||
char_u *s;
|
||||
long a1, a2, a3, a4, a5, a6, a7, a8, a9, a10;
|
||||
{
|
||||
vim_snprintf((char *)IObuff, IOSIZE, (char *)s,
|
||||
a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
|
||||
return msg_attr(IObuff, attr);
|
||||
}
|
||||
|
||||
# else /* HAVE_STDARG_H */
|
||||
|
||||
int vim_snprintf(char *str, size_t str_m, char *fmt, ...);
|
||||
|
||||
int
|
||||
#ifdef __BORLANDC__
|
||||
# ifdef __BORLANDC__
|
||||
_RTLENTRYF
|
||||
#endif
|
||||
# endif
|
||||
smsg(char_u *s, ...)
|
||||
{
|
||||
va_list arglist;
|
||||
@@ -413,9 +361,9 @@ smsg(char_u *s, ...)
|
||||
}
|
||||
|
||||
int
|
||||
#ifdef __BORLANDC__
|
||||
# ifdef __BORLANDC__
|
||||
_RTLENTRYF
|
||||
#endif
|
||||
# endif
|
||||
smsg_attr(int attr, char_u *s, ...)
|
||||
{
|
||||
va_list arglist;
|
||||
@@ -426,7 +374,6 @@ smsg_attr(int attr, char_u *s, ...)
|
||||
return msg_attr(IObuff, attr);
|
||||
}
|
||||
|
||||
# endif /* HAVE_STDARG_H */
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -2270,8 +2217,8 @@ struct msgchunk_S
|
||||
|
||||
static msgchunk_T *last_msgchunk = NULL; /* last displayed text */
|
||||
|
||||
static msgchunk_T *msg_sb_start __ARGS((msgchunk_T *mps));
|
||||
static msgchunk_T *disp_sb_line __ARGS((int row, msgchunk_T *smp));
|
||||
static msgchunk_T *msg_sb_start(msgchunk_T *mps);
|
||||
static msgchunk_T *disp_sb_line(int row, msgchunk_T *smp);
|
||||
|
||||
static int do_clear_sb_text = FALSE; /* clear text on next msg */
|
||||
|
||||
@@ -3483,7 +3430,7 @@ do_dialog(type, title, message, buttons, dfltbutton, textfield, ex_cmd)
|
||||
return retval;
|
||||
}
|
||||
|
||||
static int copy_char __ARGS((char_u *from, char_u *to, int lowercase));
|
||||
static int copy_char(char_u *from, char_u *to, int lowercase);
|
||||
|
||||
/*
|
||||
* Copy one character from "*from" to "*to", taking care of multi-byte
|
||||
@@ -3925,13 +3872,13 @@ do_browse(flags, title, dflt, ext, initdir, filter, buf)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_STDARG_H) && defined(FEAT_EVAL)
|
||||
#if defined(FEAT_EVAL)
|
||||
static char *e_printf = N_("E766: Insufficient arguments for printf()");
|
||||
|
||||
static long tv_nr __ARGS((typval_T *tvs, int *idxp));
|
||||
static char *tv_str __ARGS((typval_T *tvs, int *idxp));
|
||||
static long tv_nr(typval_T *tvs, int *idxp);
|
||||
static char *tv_str(typval_T *tvs, int *idxp);
|
||||
# ifdef FEAT_FLOAT
|
||||
static double tv_float __ARGS((typval_T *tvs, int *idxp));
|
||||
static double tv_float(typval_T *tvs, int *idxp);
|
||||
# endif
|
||||
|
||||
/*
|
||||
@@ -4055,7 +4002,6 @@ tv_float(tvs, idxp)
|
||||
* understand this. */
|
||||
#ifndef PROTO
|
||||
|
||||
# ifdef HAVE_STDARG_H
|
||||
/* Like vim_vsnprintf() but append to the string. */
|
||||
int
|
||||
vim_snprintf_add(char *str, size_t str_m, char *fmt, ...)
|
||||
@@ -4074,28 +4020,7 @@ vim_snprintf_add(char *str, size_t str_m, char *fmt, ...)
|
||||
va_end(ap);
|
||||
return str_l;
|
||||
}
|
||||
# else
|
||||
/* Like vim_vsnprintf() but append to the string. */
|
||||
int
|
||||
vim_snprintf_add(str, str_m, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
|
||||
char *str;
|
||||
size_t str_m;
|
||||
char *fmt;
|
||||
long a1, a2, a3, a4, a5, a6, a7, a8, a9, a10;
|
||||
{
|
||||
size_t len = STRLEN(str);
|
||||
size_t space;
|
||||
|
||||
if (str_m <= len)
|
||||
space = 0;
|
||||
else
|
||||
space = str_m - len;
|
||||
return vim_vsnprintf(str + len, space, fmt,
|
||||
a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
|
||||
}
|
||||
# endif
|
||||
|
||||
# ifdef HAVE_STDARG_H
|
||||
int
|
||||
vim_snprintf(char *str, size_t str_m, char *fmt, ...)
|
||||
{
|
||||
@@ -4110,26 +4035,11 @@ vim_snprintf(char *str, size_t str_m, char *fmt, ...)
|
||||
|
||||
int
|
||||
vim_vsnprintf(str, str_m, fmt, ap, tvs)
|
||||
# else
|
||||
/* clumsy way to work around missing va_list */
|
||||
# define get_a_arg(i) (++i, i == 2 ? a1 : i == 3 ? a2 : i == 4 ? a3 : i == 5 ? a4 : i == 6 ? a5 : i == 7 ? a6 : i == 8 ? a7 : i == 9 ? a8 : i == 10 ? a9 : a10)
|
||||
|
||||
/* VARARGS */
|
||||
int
|
||||
#ifdef __BORLANDC__
|
||||
_RTLENTRYF
|
||||
#endif
|
||||
vim_snprintf(str, str_m, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
|
||||
# endif
|
||||
char *str;
|
||||
size_t str_m;
|
||||
char *fmt;
|
||||
# ifdef HAVE_STDARG_H
|
||||
va_list ap;
|
||||
typval_T *tvs;
|
||||
# else
|
||||
long a1, a2, a3, a4, a5, a6, a7, a8, a9, a10;
|
||||
# endif
|
||||
{
|
||||
size_t str_l = 0;
|
||||
char *p = fmt;
|
||||
@@ -4168,13 +4078,13 @@ vim_snprintf(str, str_m, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
|
||||
char length_modifier = '\0';
|
||||
|
||||
/* temporary buffer for simple numeric->string conversion */
|
||||
#ifdef FEAT_FLOAT
|
||||
# define TMP_LEN 350 /* On my system 1e308 is the biggest number possible.
|
||||
# ifdef FEAT_FLOAT
|
||||
# define TMP_LEN 350 /* On my system 1e308 is the biggest number possible.
|
||||
* That sounds reasonable to use as the maximum
|
||||
* printable. */
|
||||
#else
|
||||
# define TMP_LEN 32
|
||||
#endif
|
||||
# else
|
||||
# define TMP_LEN 32
|
||||
# endif
|
||||
char tmp[TMP_LEN];
|
||||
|
||||
/* string address in case of string argument */
|
||||
@@ -4229,14 +4139,10 @@ vim_snprintf(str, str_m, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
|
||||
|
||||
p++;
|
||||
j =
|
||||
#ifndef HAVE_STDARG_H
|
||||
get_a_arg(arg_idx);
|
||||
#else
|
||||
# if defined(FEAT_EVAL)
|
||||
tvs != NULL ? tv_nr(tvs, &arg_idx) :
|
||||
# endif
|
||||
va_arg(ap, int);
|
||||
#endif
|
||||
if (j >= 0)
|
||||
min_field_width = j;
|
||||
else
|
||||
@@ -4266,14 +4172,10 @@ vim_snprintf(str, str_m, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
|
||||
int j;
|
||||
|
||||
j =
|
||||
#ifndef HAVE_STDARG_H
|
||||
get_a_arg(arg_idx);
|
||||
#else
|
||||
# if defined(FEAT_EVAL)
|
||||
tvs != NULL ? tv_nr(tvs, &arg_idx) :
|
||||
# endif
|
||||
va_arg(ap, int);
|
||||
#endif
|
||||
p++;
|
||||
if (j >= 0)
|
||||
precision = j;
|
||||
@@ -4342,14 +4244,10 @@ vim_snprintf(str, str_m, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
|
||||
int j;
|
||||
|
||||
j =
|
||||
#ifndef HAVE_STDARG_H
|
||||
get_a_arg(arg_idx);
|
||||
#else
|
||||
# if defined(FEAT_EVAL)
|
||||
tvs != NULL ? tv_nr(tvs, &arg_idx) :
|
||||
# endif
|
||||
va_arg(ap, int);
|
||||
#endif
|
||||
/* standard demands unsigned char */
|
||||
uchar_arg = (unsigned char)j;
|
||||
str_arg = (char *)&uchar_arg;
|
||||
@@ -4359,14 +4257,10 @@ vim_snprintf(str, str_m, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
|
||||
case 's':
|
||||
case 'S':
|
||||
str_arg =
|
||||
#ifndef HAVE_STDARG_H
|
||||
(char *)get_a_arg(arg_idx);
|
||||
#else
|
||||
# if defined(FEAT_EVAL)
|
||||
tvs != NULL ? tv_str(tvs, &arg_idx) :
|
||||
# endif
|
||||
va_arg(ap, char *);
|
||||
#endif
|
||||
if (str_arg == NULL)
|
||||
{
|
||||
str_arg = "[NULL]";
|
||||
@@ -4383,18 +4277,18 @@ vim_snprintf(str, str_m, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
|
||||
{
|
||||
/* Don't put the #if inside memchr(), it can be a
|
||||
* macro. */
|
||||
#if VIM_SIZEOF_INT <= 2
|
||||
# if VIM_SIZEOF_INT <= 2
|
||||
char *q = memchr(str_arg, '\0', precision);
|
||||
#else
|
||||
# else
|
||||
/* memchr on HP does not like n > 2^31 !!! */
|
||||
char *q = memchr(str_arg, '\0',
|
||||
precision <= (size_t)0x7fffffffL ? precision
|
||||
: (size_t)0x7fffffffL);
|
||||
#endif
|
||||
# endif
|
||||
str_arg_l = (q == NULL) ? precision
|
||||
: (size_t)(q - str_arg);
|
||||
}
|
||||
#ifdef FEAT_MBYTE
|
||||
# ifdef FEAT_MBYTE
|
||||
if (fmt_spec == 'S')
|
||||
{
|
||||
if (min_field_width != 0)
|
||||
@@ -4411,7 +4305,7 @@ vim_snprintf(str, str_m, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
|
||||
str_arg_l = precision = p1 - (char_u *)str_arg;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
# endif
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -4448,14 +4342,10 @@ vim_snprintf(str, str_m, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
|
||||
{
|
||||
length_modifier = '\0';
|
||||
ptr_arg =
|
||||
#ifndef HAVE_STDARG_H
|
||||
(void *)get_a_arg(arg_idx);
|
||||
#else
|
||||
# if defined(FEAT_EVAL)
|
||||
tvs != NULL ? (void *)tv_str(tvs, &arg_idx) :
|
||||
# endif
|
||||
va_arg(ap, void *);
|
||||
#endif
|
||||
if (ptr_arg != NULL)
|
||||
arg_sign = 1;
|
||||
}
|
||||
@@ -4468,14 +4358,10 @@ vim_snprintf(str, str_m, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
|
||||
case 'h':
|
||||
/* char and short arguments are passed as int. */
|
||||
int_arg =
|
||||
#ifndef HAVE_STDARG_H
|
||||
get_a_arg(arg_idx);
|
||||
#else
|
||||
# if defined(FEAT_EVAL)
|
||||
tvs != NULL ? tv_nr(tvs, &arg_idx) :
|
||||
# endif
|
||||
va_arg(ap, int);
|
||||
#endif
|
||||
if (int_arg > 0)
|
||||
arg_sign = 1;
|
||||
else if (int_arg < 0)
|
||||
@@ -4483,14 +4369,10 @@ vim_snprintf(str, str_m, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
|
||||
break;
|
||||
case 'l':
|
||||
long_arg =
|
||||
#ifndef HAVE_STDARG_H
|
||||
get_a_arg(arg_idx);
|
||||
#else
|
||||
# if defined(FEAT_EVAL)
|
||||
tvs != NULL ? tv_nr(tvs, &arg_idx) :
|
||||
# endif
|
||||
va_arg(ap, long int);
|
||||
#endif
|
||||
if (long_arg > 0)
|
||||
arg_sign = 1;
|
||||
else if (long_arg < 0)
|
||||
@@ -4506,29 +4388,21 @@ vim_snprintf(str, str_m, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
|
||||
case '\0':
|
||||
case 'h':
|
||||
uint_arg =
|
||||
#ifndef HAVE_STDARG_H
|
||||
get_a_arg(arg_idx);
|
||||
#else
|
||||
# if defined(FEAT_EVAL)
|
||||
tvs != NULL ? (unsigned)
|
||||
tv_nr(tvs, &arg_idx) :
|
||||
# endif
|
||||
va_arg(ap, unsigned int);
|
||||
#endif
|
||||
if (uint_arg != 0)
|
||||
arg_sign = 1;
|
||||
break;
|
||||
case 'l':
|
||||
ulong_arg =
|
||||
#ifndef HAVE_STDARG_H
|
||||
get_a_arg(arg_idx);
|
||||
#else
|
||||
# if defined(FEAT_EVAL)
|
||||
tvs != NULL ? (unsigned long)
|
||||
tv_nr(tvs, &arg_idx) :
|
||||
# endif
|
||||
va_arg(ap, unsigned long int);
|
||||
#endif
|
||||
if (ulong_arg != 0)
|
||||
arg_sign = 1;
|
||||
break;
|
||||
@@ -4675,7 +4549,7 @@ vim_snprintf(str, str_m, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
|
||||
break;
|
||||
}
|
||||
|
||||
#ifdef FEAT_FLOAT
|
||||
# ifdef FEAT_FLOAT
|
||||
case 'f':
|
||||
case 'e':
|
||||
case 'E':
|
||||
@@ -4690,14 +4564,10 @@ vim_snprintf(str, str_m, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
|
||||
int remove_trailing_zeroes = FALSE;
|
||||
|
||||
f =
|
||||
# ifndef HAVE_STDARG_H
|
||||
get_a_arg(arg_idx);
|
||||
# else
|
||||
# if defined(FEAT_EVAL)
|
||||
tvs != NULL ? tv_float(tvs, &arg_idx) :
|
||||
# endif
|
||||
va_arg(ap, double);
|
||||
# endif
|
||||
abs_f = f < 0 ? -f : f;
|
||||
|
||||
if (fmt_spec == 'g' || fmt_spec == 'G')
|
||||
@@ -4713,11 +4583,11 @@ vim_snprintf(str, str_m, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
|
||||
}
|
||||
|
||||
if (fmt_spec == 'f' &&
|
||||
#ifdef VAX
|
||||
# ifdef VAX
|
||||
abs_f > 1.0e38
|
||||
#else
|
||||
# else
|
||||
abs_f > 1.0e307
|
||||
#endif
|
||||
# endif
|
||||
)
|
||||
{
|
||||
/* Avoid a buffer overflow */
|
||||
@@ -4810,7 +4680,7 @@ vim_snprintf(str, str_m, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
|
||||
str_arg = tmp;
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
# endif
|
||||
|
||||
default:
|
||||
/* unrecognized conversion specifier, keep format string
|
||||
@@ -4949,10 +4819,8 @@ vim_snprintf(str, str_m, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
|
||||
str[str_l <= str_m - 1 ? str_l : str_m - 1] = '\0';
|
||||
}
|
||||
|
||||
#ifdef HAVE_STDARG_H
|
||||
if (tvs != NULL && tvs[arg_idx - 1].v_type != VAR_UNKNOWN)
|
||||
EMSG(_("E767: Too many arguments to printf()"));
|
||||
#endif
|
||||
|
||||
/* Return the number of characters formatted (excluding trailing nul
|
||||
* character), that is, the number of characters that would have been
|
||||
|
Reference in New Issue
Block a user