it* sacc + cursorline and uri preview Err codevoid.de 70 i Err codevoid.de 70 hgit clone git://git.codevoid.de/sacc-sdk URL:git://git.codevoid.de/sacc-sdk codevoid.de 70 1Log /git/sacc-sdk/log.gph codevoid.de 70 1Files /git/sacc-sdk/files.gph codevoid.de 70 1Refs /git/sacc-sdk/refs.gph codevoid.de 70 1LICENSE /git/sacc-sdk/file/LICENSE.gph codevoid.de 70 i--- Err codevoid.de 70 1commit 7147f4745a6d08c9986e26df265d59db174663f8 /git/sacc-sdk/commit/7147f4745a6d08c9986e26df265d59db174663f8.gph codevoid.de 70 1parent 551de298348c406d14ab8f2787cfeabbeb89bd6e /git/sacc-sdk/commit/551de298348c406d14ab8f2787cfeabbeb89bd6e.gph codevoid.de 70 hAuthor: Quentin Rameau URL:mailto:quinq@fifth.space codevoid.de 70 iDate: Sat, 24 Feb 2018 13:24:26 +0100 Err codevoid.de 70 i Err codevoid.de 70 iAdd local asprintf in case not available on target system Err codevoid.de 70 i Err codevoid.de 70 iDiffstat: Err codevoid.de 70 i M common.h | 3 +++ Err codevoid.de 70 i M sacc.c | 29 ++++++++++++++++++++++++++--- Err codevoid.de 70 i Err codevoid.de 70 i2 files changed, 29 insertions(+), 3 deletions(-) Err codevoid.de 70 i--- Err codevoid.de 70 1diff --git a/common.h b/common.h /git/sacc-sdk/file/common.h.gph codevoid.de 70 it@@ -22,6 +22,9 @@ struct dir { Err codevoid.de 70 i size_t curline; Err codevoid.de 70 i }; Err codevoid.de 70 i Err codevoid.de 70 i+#ifndef asprintf Err codevoid.de 70 i+int asprintf(char **s, const char *fmt, ...); Err codevoid.de 70 i+#endif /* asprintf */ Err codevoid.de 70 i void die(const char *fmt, ...); Err codevoid.de 70 i size_t mbsprint(const char *s, size_t len); Err codevoid.de 70 i const char *typedisplay(char t); Err codevoid.de 70 1diff --git a/sacc.c b/sacc.c /git/sacc-sdk/file/sacc.c.gph codevoid.de 70 it@@ -1,6 +1,7 @@ Err codevoid.de 70 i /* See LICENSE file for copyright and license details. */ Err codevoid.de 70 i #include Err codevoid.de 70 i #include Err codevoid.de 70 i+#include Err codevoid.de 70 i #include Err codevoid.de 70 i #include Err codevoid.de 70 i #include Err codevoid.de 70 it@@ -39,6 +40,28 @@ die(const char *fmt, ...) Err codevoid.de 70 i exit(1); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i+#ifndef asprintf Err codevoid.de 70 i+int Err codevoid.de 70 i+asprintf(char **s, const char *fmt, ...) Err codevoid.de 70 i+{ Err codevoid.de 70 i+ va_list ap; Err codevoid.de 70 i+ int n; Err codevoid.de 70 i+ Err codevoid.de 70 i+ va_start(ap, fmt); Err codevoid.de 70 i+ n = vsnprintf(NULL, 0, fmt, ap); Err codevoid.de 70 i+ va_end(ap); Err codevoid.de 70 i+ Err codevoid.de 70 i+ if (n == INT_MAX || !(*s = malloc(++n))) Err codevoid.de 70 i+ return -1; Err codevoid.de 70 i+ Err codevoid.de 70 i+ va_start(ap, fmt); Err codevoid.de 70 i+ vsnprintf(*s, n, fmt, ap); Err codevoid.de 70 i+ va_end(ap); Err codevoid.de 70 i+ Err codevoid.de 70 i+ return n; Err codevoid.de 70 i+} Err codevoid.de 70 i+#endif /* asprintf */ Err codevoid.de 70 i+ Err codevoid.de 70 i /* print `len' columns of characters. */ Err codevoid.de 70 i size_t Err codevoid.de 70 i mbsprint(const char *s, size_t len) Err codevoid.de 70 it@@ -558,9 +581,9 @@ plumbitem(Item *item) Err codevoid.de 70 i if (!path[0]) { Err codevoid.de 70 i clear(&path); Err codevoid.de 70 i if (!tag) { Err codevoid.de 70 i- n = snprintf(NULL, 0, "%s/%s", tmpdir, file); Err codevoid.de 70 i- path = xmalloc(++n); Err codevoid.de 70 i- snprintf(path, n, "%s/%s", tmpdir, file); Err codevoid.de 70 i+ if (asprintf(&path, "%s/%s", tmpdir, file) < 0) Err codevoid.de 70 i+ die("Can't generate tmpdir path: ", Err codevoid.de 70 i+ strerror(errno)); Err codevoid.de 70 i } Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 .