mirror of
https://github.com/neovim/neovim.git
synced 2024-12-25 13:45:15 -07:00
Use portable format specifiers: Adapt/fix EMSGU/emsgu to use (uint64_t).
Problem EMSGU macro was defined as the unsigned counterpart of EMSGN. This is, invoking emsgu instead of emsgn and having a long_u argument instead of a long. But, surprisingly, emsgu was not defined anywhere, which didn't result in an error because in fact EMSGU was not used (the only point in code printing a %lu erroneously using EMSGN instead). Solution - Define emsgu. - Adapt EMSGU macro to use uint64_t instead of long_u.
This commit is contained in:
parent
d84fe0a1b0
commit
a9e6098637
11
src/misc2.c
11
src/misc2.c
@ -899,6 +899,17 @@ int emsgn(char_u *s, int64_t n)
|
||||
return emsg(IObuff);
|
||||
}
|
||||
|
||||
/*
|
||||
* Print an error message with one "%" PRIu64 and one (uint64_t) argument.
|
||||
*/
|
||||
int emsgu(char_u *s, uint64_t n)
|
||||
{
|
||||
if (emsg_not_now())
|
||||
return TRUE; /* no error messages at the moment */
|
||||
vim_snprintf((char *)IObuff, IOSIZE, (char *)s, n);
|
||||
return emsg(IObuff);
|
||||
}
|
||||
|
||||
/*
|
||||
* Read 2 bytes from "fd" and turn them into an int, MSB first.
|
||||
*/
|
||||
|
@ -39,6 +39,7 @@ int illegal_slash(char *name);
|
||||
int vim_chdir(char_u *new_dir);
|
||||
int emsg3(char_u *s, char_u *a1, char_u *a2);
|
||||
int emsgn(char_u *s, int64_t n);
|
||||
int emsgu(char_u *s, uint64_t n);
|
||||
int get2c(FILE *fd);
|
||||
int get3c(FILE *fd);
|
||||
int get4c(FILE *fd);
|
||||
|
@ -1024,7 +1024,7 @@ typedef enum {
|
||||
#define EMSG3(s, p, q) emsg3((char_u *)(s), (char_u *)(p), \
|
||||
(char_u *)(q))
|
||||
#define EMSGN(s, n) emsgn((char_u *)(s), (int64_t)(n))
|
||||
#define EMSGU(s, n) emsgu((char_u *)(s), (long_u)(n))
|
||||
#define EMSGU(s, n) emsgu((char_u *)(s), (uint64_t)(n))
|
||||
#define OUT_STR(s) out_str((char_u *)(s))
|
||||
#define OUT_STR_NF(s) out_str_nf((char_u *)(s))
|
||||
#define MSG_PUTS(s) msg_puts((char_u *)(s))
|
||||
|
Loading…
Reference in New Issue
Block a user