tAdd xstrdup function - st - [fork] customized build of st, the simple terminal | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit cdb3b1892af40110660da8c3f6fc06b1b054fd12 | |
parent 315b7ee9ce13603339104cab0402d7d6c10e92b8 | |
Author: Roberto E. Vargas Caballero <[email protected]> | |
Date: Sat, 1 Feb 2014 11:12:47 +0100 | |
Add xstrdup function | |
Since we are using xmalloc, xrealloc ..., then it is not logical | |
call directly to strdup. | |
Signed-off-by: Roberto E. Vargas Caballero <[email protected]> | |
Diffstat: | |
M st.c | 13 ++++++++++++- | |
1 file changed, 12 insertions(+), 1 deletion(-) | |
--- | |
diff --git a/st.c b/st.c | |
t@@ -441,6 +441,7 @@ static int isfullutf8(char *, int); | |
static ssize_t xwrite(int, char *, size_t); | |
static void *xmalloc(size_t); | |
static void *xrealloc(void *, size_t); | |
+static char *xstrdup(char *s); | |
static void (*handler[LASTEvent])(XEvent *) = { | |
[KeyPress] = kpress, | |
t@@ -529,6 +530,16 @@ xrealloc(void *p, size_t len) { | |
return p; | |
} | |
+char * | |
+xstrdup(char *s) { | |
+ char *p = strdup(s); | |
+ | |
+ if (!p) | |
+ die("Out of memory\n"); | |
+ | |
+ return p; | |
+} | |
+ | |
int | |
utf8decode(char *s, long *u) { | |
uchar c; | |
t@@ -3789,7 +3800,7 @@ main(int argc, char *argv[]) { | |
if(argc > 1) { | |
opt_cmd = &argv[1]; | |
if(argv[1] != NULL && opt_title == NULL) { | |
- titles = strdup(argv[1]); | |
+ titles = xstrdup(argv[1]); | |
opt_title = basename(titles); | |
} | |
} |