+MODULE_ID("$Id: lib_unget_wch.c,v 1.7 2004/12/05 01:21:31 tom Exp $")
+
+#ifdef linux
+/*
+ * glibc's wcrtomb() function is broken - does not return the proper value
+ * when target is null (noted for glibc 2.3.2). This is a workaround.
+ */
+NCURSES_EXPORT(size_t)
+_nc_wcrtomb(char *target, wchar_t source, mbstate_t * state)
+{
+ if (target == 0) {
+ wchar_t temp[2];
+ const wchar_t *tempp = temp;
+ temp[0] = source;
+ temp[1] = 0;
+ return wcsrtombs(NULL, &tempp, 0, state);
+ }
+ return wcrtomb(target, source, state);
+}
+#endif