Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
PATCH: make curses module not need wideness
- X-seq: zsh-workers 23952
- From: Clint Adams <clint@xxxxxxx>
- To: zsh-workers@xxxxxxxxxx
- Subject: PATCH: make curses module not need wideness
- Date: Sun, 14 Oct 2007 00:21:42 -0400
- Mail-followup-to: zsh-workers@xxxxxxxxxx
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
This will build against "narrow" ncurses. To my amusement and chagrin,
zcurses -s works this way.
Index: Src/Modules/curses.c
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/Modules/curses.c,v
retrieving revision 1.3
diff -u -r1.3 curses.c
--- Src/Modules/curses.c 8 Oct 2007 23:23:19 -0000 1.3
+++ Src/Modules/curses.c 14 Oct 2007 04:19:28 -0000
@@ -30,7 +30,9 @@
#define _XOPEN_SOURCE_EXTENDED 1
#include <ncurses.h>
-#include <wchar.h>
+#ifdef HAVE_SETCCHAR
+# include <wchar.h>
+#endif
#include <stdio.h>
@@ -165,8 +167,10 @@
}
if (OPT_ISSET(ops,'c')) {
+#ifdef HAVE_SETCCHAR
wchar_t c;
cchar_t cc;
+#endif
targetwin = zcurses_validate_window(args[0], ZCURSES_USED);
if (targetwin == -1) {
@@ -174,6 +178,7 @@
return 1;
}
+#ifdef HAVE_SETCCHAR
if (mbrtowc(&c, args[1], MB_CUR_MAX, NULL) < 1)
return 1;
@@ -182,14 +187,20 @@
if (wadd_wch(zcurses_WIN[targetwin], &cc)!=OK)
return 1;
+#else
+ if (waddch(zcurses_WIN[targetwin], (chtype)args[1][0])!=OK)
+ return 1;
+#endif
return 0;
}
if (OPT_ISSET(ops,'s')) {
+#ifdef HAVE_SETCCHAR
wchar_t *ws;
cchar_t *wcc;
size_t sl;
+#endif
targetwin = zcurses_validate_window(args[0], ZCURSES_USED);
if (targetwin == -1) {
@@ -197,6 +208,7 @@
return 1;
}
+#ifdef HAVE_SETCCHAR
sl = strlen(args[1]);
if (sl == 0) {
@@ -224,6 +236,10 @@
}
free(wcc);
+#else
+ if (waddstr(zcurses_WIN[targetwin], args[1])!=OK)
+ return 1;
+#endif
return 0;
}
Index: Src/Modules/curses.mdd
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/Modules/curses.mdd,v
retrieving revision 1.2
diff -u -r1.2 curses.mdd
--- Src/Modules/curses.mdd 8 Oct 2007 14:11:29 -0000 1.2
+++ Src/Modules/curses.mdd 14 Oct 2007 04:19:28 -0000
@@ -1,5 +1,5 @@
name=zsh/curses
-link='if test "x$ac_cv_func_initscr" = xyes -a "x$ac_cv_header_curses_h" = xyes -a "x$ac_cv_func_setcchar" = xyes; then echo dynamic; else echo no; fi'
+link='if test "x$ac_cv_func_initscr" = xyes -a "x$ac_cv_header_curses_h" = xyes; then echo dynamic; else echo no; fi'
load=no
autobins="zcurses"
Messages sorted by:
Reverse Date,
Date,
Thread,
Author