* @ret rc return status code
*/
int vw_printw ( WINDOW *win, const char *fmt, va_list varglist ) {
- struct printw_context wctx = {
- .win = win,
- .ctx = { .handler = _printw_handler, },
- };
+ struct printw_context wctx;
+ wctx.win = win;
+ wctx.ctx.handler = _printw_handler;
vcprintf ( &(wctx.ctx), fmt, varglist );
return OK;
}
*/
char * readline ( const char *prompt ) {
char buf[READLINE_MAX];
- struct edit_string string = {
- .buf = buf,
- .len = sizeof ( buf ),
- .cursor = 0,
- };
+ struct edit_string string;
int key;
char *line;
if ( prompt )
printf ( "%s", prompt );
+ memset ( &string, 0, sizeof ( string ) );
+ string.buf = buf;
+ string.len = sizeof ( buf );
buf[0] = '\0';
+
while ( 1 ) {
key = edit_string ( &string, getkey() );
sync_console ( &string );