aboutsummaryrefslogtreecommitdiff
path: root/text.c
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2020-06-22 09:10:37 +0200
committerMarc André Tanner <mat@brain-dump.org>2020-06-22 09:10:37 +0200
commit843ba5b45c5d8751bd0fe049016c7d3ef3d250af (patch)
tree6eb9f612c8df6e532d63704b8472225d9d9827ed /text.c
parent1caa4ccb6ead8645176642de83f3f677d6802a29 (diff)
downloadvis-843ba5b45c5d8751bd0fe049016c7d3ef3d250af.tar.gz
vis-843ba5b45c5d8751bd0fe049016c7d3ef3d250af.tar.xz
text: code cleanup, use local variable
No functionl change.
Diffstat (limited to 'text.c')
-rw-r--r--text.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/text.c b/text.c
index cf45579..111a40e 100644
--- a/text.c
+++ b/text.c
@@ -942,30 +942,31 @@ static bool text_save_begin_inplace(TextSave *ctx) {
goto err;
if (fstat(ctx->fd, &meta) == -1)
goto err;
+ Block *block = txt->block;
if (meta.st_dev == txt->info.st_dev && meta.st_ino == txt->info.st_ino &&
- txt->block && txt->block->type == MMAP_ORIG && txt->block->size) {
+ block && block->type == MMAP_ORIG && block->size) {
/* The file we are going to overwrite is currently mmap-ed from
* text_load, therefore we copy the mmap-ed block to a temporary
* file and remap it at the same position such that all pointers
* from the various pieces are still valid.
*/
- size_t size = txt->block->size;
+ size_t size = block->size;
char tmpname[32] = "/tmp/vis-XXXXXX";
newfd = mkstemp(tmpname);
if (newfd == -1)
goto err;
if (unlink(tmpname) == -1)
goto err;
- ssize_t written = write_all(newfd, txt->block->data, size);
+ ssize_t written = write_all(newfd, block->data, size);
if (written == -1 || (size_t)written != size)
goto err;
- if (munmap(txt->block->data, size) == -1)
+ if (munmap(block->data, size) == -1)
goto err;
- void *data = mmap(txt->block->data, size, PROT_READ, MAP_SHARED, newfd, 0);
+ void *data = mmap(block->data, size, PROT_READ, MAP_SHARED, newfd, 0);
if (data == MAP_FAILED)
goto err;
- if (data != txt->block->data) {
+ if (data != block->data) {
munmap(data, size);
goto err;
}
@@ -973,8 +974,8 @@ static bool text_save_begin_inplace(TextSave *ctx) {
newfd = -1;
if (close_failed)
goto err;
- txt->block->data = data;
- txt->block->type = MMAP;
+ block->data = data;
+ block->type = MMAP;
newfd = -1;
}
/* overwrite the existing file content, if something goes wrong