summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/hci/editstring.c11
-rw-r--r--src/include/ipxe/editstring.h2
2 files changed, 13 insertions, 0 deletions
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
@@ -118,6 +118,17 @@ static void kill_eol ( struct edit_string *string ) {
}
/**
+ * 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
*
* @v string 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 */