aboutsummaryrefslogtreecommitdiff
path: root/text.c
diff options
context:
space:
mode:
Diffstat (limited to 'text.c')
-rw-r--r--text.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/text.c b/text.c
index ea02cd4..d81ab76 100644
--- a/text.c
+++ b/text.c
@@ -617,7 +617,7 @@ int text_save(Text *txt, const char *filename) {
txt->saved_action = txt->undo;
text_snapshot(txt);
if (!txt->filename)
- txt->filename = strdup(filename);
+ text_filename_set(txt, filename);
return 0;
err:
close(fd);
@@ -637,7 +637,7 @@ Text *text_load(const char *filename) {
piece_init(&txt->end, &txt->begin, NULL, NULL, 0);
lineno_cache_invalidate(&txt->lines);
if (filename) {
- txt->filename = strdup(filename);
+ text_filename_set(txt, filename);
txt->fd = open(filename, O_RDONLY);
if (txt->fd == -1)
goto out;
@@ -1053,6 +1053,10 @@ const char *text_filename_get(Text *txt) {
return txt->filename;
}
+void text_filename_set(Text *txt, const char *filename) {
+ txt->filename = strdup(filename);
+}
+
Regex *text_regex_new(void) {
Regex *r = calloc(1, sizeof(Regex));
if (!r)