diff options
| author | Marc André Tanner <mat@brain-dump.org> | 2017-04-08 22:11:57 +0200 |
|---|---|---|
| committer | Marc André Tanner <mat@brain-dump.org> | 2017-04-09 11:28:06 +0200 |
| commit | 4f15fee811d2645bf810a475d4272f83c30608d6 (patch) | |
| tree | e61902723c42378b78b43e42bf55f37ec216d702 /vis.c | |
| parent | 6a6bc5bb4c1b5be36b342266d0f74ec4a2843b00 (diff) | |
| download | vis-4f15fee811d2645bf810a475d4272f83c30608d6.tar.gz vis-4f15fee811d2645bf810a475d4272f83c30608d6.tar.xz | |
vis: remove handling of \r\n line endings
Use something like dos2unix(1) and unix2dos(1), if you
need to edit such files.
Diffstat (limited to 'vis.c')
| -rw-r--r-- | vis.c | 13 |
1 files changed, 6 insertions, 7 deletions
@@ -772,7 +772,7 @@ void vis_replace(Vis *vis, size_t pos, const char *data, size_t len) { Text *txt = vis->win->file->text; Iterator it = text_iterator_get(txt, pos); int chars = text_char_count(data, len); - for (char c; chars-- > 0 && text_iterator_byte_get(&it, &c) && c != '\r' && c != '\n'; ) + for (char c; chars-- > 0 && text_iterator_byte_get(&it, &c) && c != '\n'; ) text_iterator_char_next(&it, NULL); text_delete(txt, pos, it.pos - pos); @@ -1601,8 +1601,7 @@ void vis_insert_tab(Vis *vis) { } size_t vis_text_insert_nl(Vis *vis, Text *txt, size_t pos) { - const char *nl = text_newline_char(txt); - size_t nl_len = strlen(nl), indent_len = 0; + size_t indent_len = 0; char byte, *indent = NULL; /* insert second newline at end of file, except if there is already one */ bool eof = pos == text_size(txt); @@ -1625,14 +1624,14 @@ size_t vis_text_insert_nl(Vis *vis, Text *txt, size_t pos) { } } - text_insert(txt, pos, nl, nl_len); + text_insert(txt, pos, "\n", 1); if (eof) { if (nl2) - text_insert(txt, pos, nl, nl_len); + text_insert(txt, pos, "\n", 1); else - pos -= nl_len; /* place cursor before, not after nl */ + pos--; /* place cursor before, not after nl */ } - pos += nl_len; + pos++; if (indent) text_insert(txt, pos, indent, indent_len); |
