diff --git a/srohtml.c b/srohtml.c
index 168f3a5..698ad44 100644
--- a/srohtml.c
+++ b/srohtml.c
@@ -6,7 +6,7 @@
/* macros */
#define BODY_START_SIZE 26624 /* 26 x 1024 byte = 26 KiB */
-#define CLS_MAX 8
+#define CLS_MAX 16
#define DATE_LEN 10
#define FAVICON "data:image/gif;base64,R0lGODlhEAAQAKEAAAAAcP///wAAcAAAcCH5BAEKAAIALAAAAAAQABAAQAIwlBWZxxwAQWjtTQRvlZhTnGSfYT3eZ3WaE4mjGa1UasoH7c6tzYanfqmhJMKXglcAADs="
#define LANG_LEN 2
@@ -47,6 +47,7 @@ static void cmd_ls(void);
static void cmd_no(const char *line);
static void cmd_p(void);
static void cmd_pd(const char *line);
+static void cmd_q(const char *line);
static void cmd_st(const char *line);
static void cmd_tm(const char *line);
static void cmd_ur(const char *line);
@@ -145,6 +146,8 @@ cmd(char *line)
cmd_p();
else if (!strncmp(line, "PD", cmdlen))
cmd_pd(line);
+ else if (!strncmp(line, "Q", cmdlen))
+ cmd_q(line);
else if (!strncmp(line, "ST", cmdlen))
cmd_st(line);
else if (!strncmp(line, "TI", cmdlen))
@@ -403,6 +406,34 @@ cmd_pd(const char *line)
strncpy(pub_date, line, DATE_LEN);
}
+void
+cmd_q(const char *line)
+{
+ char *cite;
+
+ cite = NULL;
+
+ /* move past "Q" */
+ line += 1;
+ /* move past argument, if found it */
+ line += stread_param(line, &cite);
+
+ if (space)
+ string_cat(&body, " ");
+ string_cat(&body, "");
+ space = 0;
+ strcpy(closure, "