changeset 2778:ae01c32493fb

(mbswidth): Add a flags argument. (mbswidth): New declaration. (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
author Jim Meyering <jim@meyering.net>
date Sat, 29 Jul 2000 06:02:28 +0000
parents 1dbed465e43b
children e87315a6437e
files lib/mbswidth.h
diffstat 1 files changed, 16 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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.  */
+
+/* Assume invalid characters have width 0.  If this is not set, the
+   functions return -1 if an invalid or incomplete character occurs.  */
+#define MBSW_ACCEPT_INVALID		1
+
+/* Assume unprintable characters have width 1.  If this is not set, the
+   functions return -1 if a non-printable character occurs.  */
+#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));