Introduction
Introduction Statistics Contact Development Disclaimer Help
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);
}
}
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.