summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--format.c11
-rw-r--r--xs.h6
-rw-r--r--xs_version.h2
3 files changed, 12 insertions, 7 deletions
diff --git a/format.c b/format.c
index 0a8b72c..1020ddd 100644
--- a/format.c
+++ b/format.c
@@ -144,11 +144,16 @@ static xs_str *format_line(const char *line, xs_list **attach)
144 if (*v == '[') { 144 if (*v == '[') {
145 /* markdown-like links [label](url) */ 145 /* markdown-like links [label](url) */
146 xs *w = xs_strip_chars_i(xs_dup(v), "[)"); 146 xs *w = xs_strip_chars_i(xs_dup(v), "[)");
147 xs *l = xs_split(w, "]("); 147 xs *l = xs_split_n(w, "](", 1);
148 xs *link = xs_fmt("<a href=\"%s\">%s</a>", 148
149 if (xs_list_len(l) == 2) {
150 xs *link = xs_fmt("<a href=\"%s\">%s</a>",
149 xs_list_get(l, 1), xs_list_get(l, 0)); 151 xs_list_get(l, 1), xs_list_get(l, 0));
150 152
151 s = xs_str_cat(s, link); 153 s = xs_str_cat(s, link);
154 }
155 else
156 s = xs_str_cat(s, v);
152 } 157 }
153 else 158 else
154 s = xs_str_cat(s, v); 159 s = xs_str_cat(s, v);
diff --git a/xs.h b/xs.h
index 972665c..56771e1 100644
--- a/xs.h
+++ b/xs.h
@@ -277,7 +277,7 @@ int _xs_get_size(const xs_val *ptr)
277/* must match _XS_TYPE_SIZE */ 277/* must match _XS_TYPE_SIZE */
278{ 278{
279 int i; 279 int i;
280 memcpy(&i, ptr, sizeof(i)); 280 memcpy(&i, ptr + 1, sizeof(i));
281 return i; 281 return i;
282} 282}
283 283
@@ -299,7 +299,7 @@ int xs_size(const xs_val *data)
299 case XSTYPE_LIST: 299 case XSTYPE_LIST:
300 case XSTYPE_DICT: 300 case XSTYPE_DICT:
301 case XSTYPE_DATA: 301 case XSTYPE_DATA:
302 len = _xs_get_size(data + 1); 302 len = _xs_get_size(data);
303 303
304 break; 304 break;
305 305
@@ -1286,7 +1286,7 @@ xs_data *xs_data_new(const void *data, int size)
1286int xs_data_size(const xs_data *value) 1286int xs_data_size(const xs_data *value)
1287/* returns the size of the data stored inside value */ 1287/* returns the size of the data stored inside value */
1288{ 1288{
1289 return _xs_get_size(value + 1) - (1 + _XS_TYPE_SIZE); 1289 return _xs_get_size(value) - (1 + _XS_TYPE_SIZE);
1290} 1290}
1291 1291
1292 1292
diff --git a/xs_version.h b/xs_version.h
index 7a7ba53..2e86334 100644
--- a/xs_version.h
+++ b/xs_version.h
@@ -1 +1 @@
/* 65769f25ed99b886a643522bef21628396cd118d 2024-05-25T08:18:51+02:00 */ /* e148ab08d5a55ac7bd30ff900f5eb048a57e21af 2024-05-27T05:33:01+02:00 */