Patch from Douglas Mencken <dougmencken@gmail.com>:
"%wc" is Microsoft extension, not supported in every Std C Library. So
if we don't want to print "%wc%wc%wc%wc%..." instead of real chars, we
shall not use it.
Before:
%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wcession[28326]:
_Tt_s_session::s_init(): 1051 (TT_ERR_INTERNAL)!
%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wcession[28326]: waitpid():
No child processes
%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wcession[28326]: child
ttsession exited with status 1
After:
/usr/dt/bin/ttsession[12397]: _Tt_s_session::s_init(): 1051 (TT_ERR_INTERNAL)!
/usr/dt/bin/ttsession[12397]: waitpid(): No child processes
/usr/dt/bin/ttsession[12397]: child ttsession exited with status 1
// _Tt_iostream operator<< method because
// wchar_t is equivalent to a long and the
// compiler doesn't know which method to use.
-#ifdef OPT_BUG_HPUX
os.sprintf(MB_LEN_MAX, "%C", wc);
-#else
- os.sprintf(MB_LEN_MAX, "%wc", wc);
-#endif
} else {
count += (3 + ((n == 0) ? 1 : n));
// don't print past limit, even a little.
if (count < max_print_width) {
-#ifdef OPT_BUG_HPUX
os.sprintf(10, "\\%03C", wc);
-#else
- os.sprintf(10, "\\%03wc", wc);
-#endif
}
}