[editbox] Allow for password widgets that do not display their contents

This commit is contained in:
Michael Brown
2009-02-17 11:55:55 +00:00
parent cff419148c
commit 67ee41ad6d
3 changed files with 19 additions and 6 deletions

View File

@@ -38,11 +38,11 @@
* @v row Row
* @v col Starting column
* @v width Width
*
* @v flags Flags
*/
void init_editbox ( struct edit_box *box, char *buf, size_t len,
WINDOW *win, unsigned int row, unsigned int col,
unsigned int width ) {
unsigned int width, unsigned int flags ) {
memset ( box, 0, sizeof ( *box ) );
box->string.buf = buf;
box->string.len = len;
@@ -51,6 +51,7 @@ void init_editbox ( struct edit_box *box, char *buf, size_t len,
box->row = row;
box->col = col;
box->width = width;
box->flags = flags;
}
/**
@@ -86,7 +87,11 @@ void draw_editbox ( struct edit_box *box ) {
len = ( strlen ( box->string.buf ) - first );
if ( len > width )
len = width;
memcpy ( buf, ( box->string.buf + first ), len );
if ( box->flags & EDITBOX_STARS ) {
memset ( buf, '*', len );
} else {
memcpy ( buf, ( box->string.buf + first ), len );
}
/* Print box content and move cursor */
if ( ! box->win )