X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fmbswidth.h;h=bfda2832bc23ae6afb50e64b3751d355225a8eca;hb=023946e6df1ce4ce382f2385306427413fe46085;hp=1ef47d6224de86c5c311318cafb821185135a9b0;hpb=f2c15d342cfe4dbc79c6d7f466e138bfcc89c901;p=gnulib.git diff --git a/lib/mbswidth.h b/lib/mbswidth.h index 1ef47d622..bfda2832b 100644 --- a/lib/mbswidth.h +++ b/lib/mbswidth.h @@ -23,4 +23,19 @@ # endif #endif -extern int mbswidth PARAMS ((const char *string)); +/* Optional flags to influence mbswidth/mbsnwidth behavior. */ + +/* If this bit is set, assume invalid characters have width 0. + Otherwise, return -1 upon finding an invalid or incomplete character. */ +#define MBSW_ACCEPT_INVALID 1 + +/* If this bit is set, assume unprintable characters have width 1. + Otherwise, return -1 upon finding a non-printable character. */ +#define MBSW_ACCEPT_UNPRINTABLE 2 + +/* Returns the number of screen columns needed for STRING. */ +extern int mbswidth PARAMS ((const char *string, int flags)); + +/* Returns the number of screen columns needed for the NBYTES bytes + starting at BUF. */ +extern int mbsnwidth PARAMS ((const char *buf, size_t nbytes, int flags));