mirror of https://github.com/ipxe/ipxe.git
Avoid creating implicit memcpy()s
parent
9780fef360
commit
d0a3cc3417
|
@ -56,11 +56,10 @@ static void _printw_handler ( struct printf_context *ctx, unsigned int c ) {
|
||||||
* @ret rc return status code
|
* @ret rc return status code
|
||||||
*/
|
*/
|
||||||
int vw_printw ( WINDOW *win, const char *fmt, va_list varglist ) {
|
int vw_printw ( WINDOW *win, const char *fmt, va_list varglist ) {
|
||||||
struct printw_context wctx = {
|
struct printw_context wctx;
|
||||||
.win = win,
|
|
||||||
.ctx = { .handler = _printw_handler, },
|
|
||||||
};
|
|
||||||
|
|
||||||
|
wctx.win = win;
|
||||||
|
wctx.ctx.handler = _printw_handler;
|
||||||
vcprintf ( &(wctx.ctx), fmt, varglist );
|
vcprintf ( &(wctx.ctx), fmt, varglist );
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,18 +80,18 @@ static void sync_console ( struct edit_string *string ) {
|
||||||
*/
|
*/
|
||||||
char * readline ( const char *prompt ) {
|
char * readline ( const char *prompt ) {
|
||||||
char buf[READLINE_MAX];
|
char buf[READLINE_MAX];
|
||||||
struct edit_string string = {
|
struct edit_string string;
|
||||||
.buf = buf,
|
|
||||||
.len = sizeof ( buf ),
|
|
||||||
.cursor = 0,
|
|
||||||
};
|
|
||||||
int key;
|
int key;
|
||||||
char *line;
|
char *line;
|
||||||
|
|
||||||
if ( prompt )
|
if ( prompt )
|
||||||
printf ( "%s", prompt );
|
printf ( "%s", prompt );
|
||||||
|
|
||||||
|
memset ( &string, 0, sizeof ( string ) );
|
||||||
|
string.buf = buf;
|
||||||
|
string.len = sizeof ( buf );
|
||||||
buf[0] = '\0';
|
buf[0] = '\0';
|
||||||
|
|
||||||
while ( 1 ) {
|
while ( 1 ) {
|
||||||
key = edit_string ( &string, getkey() );
|
key = edit_string ( &string, getkey() );
|
||||||
sync_console ( &string );
|
sync_console ( &string );
|
||||||
|
|
Loading…
Reference in New Issue