From: Michael Brown Date: Tue, 29 Mar 2011 15:40:23 +0000 (+0100) Subject: [readline] Add replace_string() X-Git-Tag: v1.20.1~2165 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d6f2408f2cf8abce51bb70f5ff2a2989818f0025;p=thirdparty%2Fipxe.git [readline] Add replace_string() Signed-off-by: Michael Brown --- diff --git a/src/hci/editstring.c b/src/hci/editstring.c index 9207e58a7..996528ff5 100644 --- a/src/hci/editstring.c +++ b/src/hci/editstring.c @@ -117,6 +117,17 @@ static void kill_eol ( struct edit_string *string ) { insert_delete ( string, ~( ( size_t ) 0 ), NULL ); } +/** + * Replace editable string + * + * @v string Editable string + * @v replacement Replacement string + */ +void replace_string ( struct edit_string *string, const char *replacement ) { + string->cursor = 0; + insert_delete ( string, ~( ( size_t ) 0 ), replacement ); +} + /** * Edit editable string * diff --git a/src/include/ipxe/editstring.h b/src/include/ipxe/editstring.h index 26cb434cf..2ef546a63 100644 --- a/src/include/ipxe/editstring.h +++ b/src/include/ipxe/editstring.h @@ -41,6 +41,8 @@ static inline void init_editstring ( struct edit_string *string, char *buf, string->len = len; } +extern void replace_string ( struct edit_string *string, + const char *replacement ) __nonnull; extern int edit_string ( struct edit_string *string, int key ) __nonnull; #endif /* _IPXE_EDITSTRING_H */