jcs
/detritus
/amendments
/20
gopher: Fix newline conversion
jcs made amendment 20 about 1 year ago
--- gopher.c Fri Nov 1 16:21:32 2024
+++ gopher.c Mon Nov 4 10:52:28 2024
@@ -343,9 +343,10 @@ parse_content(struct page *page)
/* text file, convert newlines and display */
for (n = page->content_pos; n < page->content_len; n++) {
if (page->content[n] == '\r') {
- browser_print(page->browser,
- page->content + page->content_pos,
- n - page->content_pos + 1);
+ if (n > page->content_pos)
+ browser_print(page->browser,
+ page->content + page->content_pos,
+ n - page->content_pos + 1);
page->content_pos = n + 1;
if (page->content[n + 1] == '\n') {
page->content_pos++;
@@ -353,9 +354,11 @@ parse_content(struct page *page)
}
} else if (page->content[n] == '\n') {
/* lone \n */
- browser_print(page->browser,
- page->content + page->content_pos,
- n - page->content_pos);
+ if (n > page->content_pos)
+ browser_print(page->browser,
+ page->content + page->content_pos,
+ n - page->content_pos);
+ browser_print(page->browser, "\r", 1);
page->content_pos = n + 1;
}
}