чување 841ccb2a55622a01cc81026397f5fe59cf1c6e8e
родитељ 2ca36d5699610d66a0b164cfc724fa522a1d2222
Аутор: Страхиња Радић <contact@strahinja.org>
Датум: Sun, 3 Oct 2021 15:14:33 +0200
Add conversion of standalone & -> &
Signed-off-by: Страхиња Радић <contact@strahinja.org>
Diffstat:
измењених датотека: 3, додавања: 20(+), брисања: 1(-)
diff --git a/TODO b/TODO
@@ -5,7 +5,7 @@
[ ] Investigate multiline links
- [ ] Investigate & in headings
+ [x] Investigate & in headings
[x] Add {tsv} directive
diff --git a/defs.h b/defs.h
@@ -5,6 +5,7 @@
#define _POSIX_C_SOURCE 200809L
+#include <ctype.h>
#include <dirent.h>
#include <errno.h>
#include <stdarg.h>
diff --git a/slweb.c b/slweb.c
@@ -4397,6 +4397,24 @@ do_line:
break;
+ case '&':
+ if (ANY(state, ST_CODE | ST_KBD | ST_PRE)
+ || !*(pline+1)
+ || isspace(*(pline+1)))
+ {
+ size_t quot_len = strlen("&");
+ *ptoken = 0;
+ strncat((char*)token, "&",
+ BUFSIZE - (ptoken - token) - 1);
+ ptoken += quot_len;
+ pline++;
+ }
+ else
+ CHECKCOPY(token, ptoken, token_size, pline);
+ colno++;
+
+ break;
+
default:
CHECKCOPY(token, ptoken, token_size, pline);
colno++;