diff options
Diffstat (limited to 'contrib/ncurses/ncurses/base/lib_instr.c')
-rw-r--r-- | contrib/ncurses/ncurses/base/lib_instr.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/contrib/ncurses/ncurses/base/lib_instr.c b/contrib/ncurses/ncurses/base/lib_instr.c index 3fb2949..e6d1a73 100644 --- a/contrib/ncurses/ncurses/base/lib_instr.c +++ b/contrib/ncurses/ncurses/base/lib_instr.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2007 Free Software Foundation, Inc. * + * Copyright (c) 1998-2007,2009 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 * @@ -41,14 +41,14 @@ #include <curses.priv.h> -MODULE_ID("$Id: lib_instr.c,v 1.16 2007/07/21 20:18:10 tom Exp $") +MODULE_ID("$Id: lib_instr.c,v 1.17 2009/10/24 22:55:45 tom Exp $") NCURSES_EXPORT(int) winnstr(WINDOW *win, char *str, int n) { int i = 0, row, col; - T((T_CALLED("winnstr(%p,%p,%d)"), win, str, n)); + T((T_CALLED("winnstr(%p,%p,%d)"), (void *) win, str, n)); if (!str) returnCode(0); @@ -79,18 +79,18 @@ winnstr(WINDOW *win, char *str, int n) init_mb(state); n3 = wcstombs(0, wch, 0); - if (isEILSEQ(n3) || (n3 == 0)) { - ; - } else if ((int) (n3 + i) > n) { - done = TRUE; - } else if ((tmp = typeCalloc(char, n3 + 10)) == 0) { - done = TRUE; - } else { - init_mb(state); - wcstombs(tmp, wch, n3); - for (i3 = 0; i3 < n3; ++i3) - str[i++] = tmp[i3]; - free(tmp); + if (!isEILSEQ(n3) && (n3 != 0)) { + if (((int) n3 + i) > n) { + done = TRUE; + } else if ((tmp = typeCalloc(char, n3 + 10)) == 0) { + done = TRUE; + } else { + init_mb(state); + wcstombs(tmp, wch, n3); + for (i3 = 0; i3 < n3; ++i3) + str[i++] = tmp[i3]; + free(tmp); + } } } free(wch); |