]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - ncurses/widechar/lib_in_wchnstr.c
ncurses 5.5
[ncurses.git] / ncurses / widechar / lib_in_wchnstr.c
index a757e7278daaef6e2dd68876cfbfbf5e53f43d31..41ba18ccdf008a9c13df75c82c48884ea89e0205 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 2002 Free Software Foundation, Inc.                        *
+ * Copyright (c) 2002,2004 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            *
@@ -27,7 +27,7 @@
  ****************************************************************************/
 
 /****************************************************************************
- * Author: Thomas Dickey 2002                                               *
+ * Author: Thomas Dickey 2002,2004                                          *
  ****************************************************************************/
 
 /*
 
 #include <curses.priv.h>
 
-MODULE_ID("$Id: lib_in_wchnstr.c,v 1.2 2002/08/03 20:38:45 tom Exp $")
+MODULE_ID("$Id: lib_in_wchnstr.c,v 1.3 2004/05/16 00:12:30 tom Exp $")
 
 NCURSES_EXPORT(int)
 win_wchnstr(WINDOW *win, cchar_t * wchstr, int n)
 {
     int code = OK;
 
-    TR(TRACE_CCALLS, (T_CALLED("win_wchnstr(%p,%p,%d)"), win, wchstr, n));
+    TR(TRACE_CALLS, (T_CALLED("win_wchnstr(%p,%p,%d)"), win, wchstr, n));
     if (win != 0
        && wchstr != 0) {
+       int row, col;
+       int j;
+
+       getyx(win, row, col);
 
        if (n < 0) {
            n = getmaxx(win) + 1 - getcurx(win);
        }
-       while (n-- > 0)
-           win_wch(win, wchstr++);
+       for (j = 0; j < n; ++j) {
+           wchstr[j] = win->_line[row].text[col + j];
+       }
+       T(("result = %s", _nc_viscbuf(wchstr, n)));
     } else {
        code = ERR;
     }