]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - ncurses/widechar/lib_wunctrl.c
ncurses 5.9 - patch 20110528
[ncurses.git] / ncurses / widechar / lib_wunctrl.c
index be2259acdcffda4cf49dca6f428673cfe173abd6..c2328a43a0efc60fe03bd4f44d94ca6bf0ebe0a4 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 2001-2005,2007 Free Software Foundation, Inc.              *
+ * Copyright (c) 2001-2010,2011 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
 
 #include <curses.priv.h>
 
 
 #include <curses.priv.h>
 
-MODULE_ID("$Id: lib_wunctrl.c,v 1.12 2007/06/12 20:22:32 tom Exp $")
+MODULE_ID("$Id: lib_wunctrl.c,v 1.15 2011/05/28 22:06:26 tom Exp $")
 
 NCURSES_EXPORT(wchar_t *)
 
 NCURSES_EXPORT(wchar_t *)
-wunctrl(cchar_t *wc)
+NCURSES_SP_NAME(wunctrl) (NCURSES_SP_DCLx cchar_t *wc)
 {
 {
-    static wchar_t str[CCHARW_MAX + 1], *sp;
+    static wchar_t str[CCHARW_MAX + 1], *wsp;
+    wchar_t *result;
 
 
-    if (Charable(*wc)) {
-       const char *p = unctrl((unsigned) _nc_to_char((wint_t) CharOf(*wc)));
+    if (wc == 0) {
+       result = 0;
+    } else if (Charable(*wc)) {
+       const char *p =
+       NCURSES_SP_NAME(unctrl) (NCURSES_SP_ARGx
+                                (unsigned) _nc_to_char((wint_t)CharOf(*wc)));
 
 
-       for (sp = str; *p; ++p) {
-           *sp++ = _nc_to_widechar(*p);
+       for (wsp = str; *p; ++p) {
+           *wsp++ = (wchar_t) _nc_to_widechar(*p);
        }
        }
-       *sp = 0;
-       return str;
-    } else
-       return wc->chars;
+       *wsp = 0;
+       result = str;
+    } else {
+       result = wc->chars;
+    }
+    return result;
+}
+
+#if NCURSES_SP_FUNCS
+NCURSES_EXPORT(wchar_t *)
+wunctrl(cchar_t *wc)
+{
+    return NCURSES_SP_NAME(wunctrl) (CURRENT_SCREEN, wc);
 }
 }
+#endif