X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fbase%2Flib_instr.c;h=3fb29490ad0638f1025a6271ac22c516122cdef0;hp=d75dee9e40efa9ef7f40ec6dbe1bab20d3e2abbe;hb=cd858895e9086dadfb3d0a9ae69bc906de6330ea;hpb=55ccd2b959766810cf7db8d1c4462f338ce0afc8;ds=inline diff --git a/ncurses/base/lib_instr.c b/ncurses/base/lib_instr.c index d75dee9e..3fb29490 100644 --- a/ncurses/base/lib_instr.c +++ b/ncurses/base/lib_instr.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * + * Copyright (c) 1998-2005,2007 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,7 +41,7 @@ #include -MODULE_ID("$Id: lib_instr.c,v 1.14 2005/04/16 17:51:12 tom Exp $") +MODULE_ID("$Id: lib_instr.c,v 1.16 2007/07/21 20:18:10 tom Exp $") NCURSES_EXPORT(int) winnstr(WINDOW *win, char *str, int n) @@ -81,7 +81,7 @@ winnstr(WINDOW *win, char *str, int n) n3 = wcstombs(0, wch, 0); if (isEILSEQ(n3) || (n3 == 0)) { ; - } else if ((int) (n3 + i) >= n) { + } else if ((int) (n3 + i) > n) { done = TRUE; } else if ((tmp = typeCalloc(char, n3 + 10)) == 0) { done = TRUE; @@ -99,12 +99,10 @@ winnstr(WINDOW *win, char *str, int n) } } #else - str[i++] = CharOf(win->_line[row].text[col]); + str[i++] = (char) CharOf(win->_line[row].text[col]); #endif if (++col > win->_maxx) { - col = 0; - if (++row > win->_maxy) - break; + break; } } }