diff options
| author | Marc André Tanner <mat@brain-dump.org> | 2017-05-03 10:54:02 +0200 |
|---|---|---|
| committer | Marc André Tanner <mat@brain-dump.org> | 2017-05-03 11:07:05 +0200 |
| commit | dc012cb59daa9f5425871ef94e001f4dbdecc5a4 (patch) | |
| tree | 83389f7d37a2f4319e4b8a1f23fc501100b158fa | |
| parent | 596e9ac6b361a726f97c390bc272f6c7506d3cb5 (diff) | |
| download | vis-dc012cb59daa9f5425871ef94e001f4dbdecc5a4.tar.gz vis-dc012cb59daa9f5425871ef94e001f4dbdecc5a4.tar.xz | |
text: rename text_sigbus to text_mmaped
Add casts to uintptr_t to avoid unrelated pointer comparisons.
| -rw-r--r-- | text.c | 5 | ||||
| -rw-r--r-- | text.h | 8 | ||||
| -rw-r--r-- | vis.c | 2 |
3 files changed, 9 insertions, 6 deletions
@@ -1312,10 +1312,11 @@ bool text_modified(Text *txt) { return txt->saved_revision != txt->history; } -bool text_sigbus(Text *txt, const char *addr) { +bool text_mmaped(Text *txt, const char *ptr) { + uintptr_t addr = (uintptr_t)ptr; for (Block *blk = txt->blocks; blk; blk = blk->next) { if ((blk->type == MMAP_ORIG || blk->type == MMAP) && - blk->data <= addr && addr < blk->data + blk->size) + (uintptr_t)(blk->data) <= addr && addr < (uintptr_t)(blk->data + blk->size)) return true; } return false; @@ -254,9 +254,11 @@ Mark text_mark_set(Text*, size_t pos); size_t text_mark_get(Text*, Mark); /** @} */ -/* query whether `addr` is part of a memory mapped region associated with - * this text instance */ -bool text_sigbus(Text*, const char *addr); +/** + * Check whether ``ptr`` is part of a memory mapped region associated with + * this text instance. + */ +bool text_mmaped(Text*, const char *ptr); /** * @defgroup save @@ -1274,7 +1274,7 @@ bool vis_signal_handler(Vis *vis, int signum, const siginfo_t *siginfo, const vo switch (signum) { case SIGBUS: for (File *file = vis->files; file; file = file->next) { - if (text_sigbus(file->text, siginfo->si_addr)) + if (text_mmaped(file->text, siginfo->si_addr)) file->truncated = true; } vis->sigbus = true; |
