aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--st.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/st.c b/st.c
index 37bec70..cad61bf 100644
--- a/st.c
+++ b/st.c
@@ -441,6 +441,7 @@ static int isfullutf8(char *, int);
441static ssize_t xwrite(int, char *, size_t); 441static ssize_t xwrite(int, char *, size_t);
442static void *xmalloc(size_t); 442static void *xmalloc(size_t);
443static void *xrealloc(void *, size_t); 443static void *xrealloc(void *, size_t);
444static char *xstrdup(char *s);
444 445
445static void (*handler[LASTEvent])(XEvent *) = { 446static void (*handler[LASTEvent])(XEvent *) = {
446 [KeyPress] = kpress, 447 [KeyPress] = kpress,
@@ -529,6 +530,16 @@ xrealloc(void *p, size_t len) {
529 return p; 530 return p;
530} 531}
531 532
533char *
534xstrdup(char *s) {
535 char *p = strdup(s);
536
537 if (!p)
538 die("Out of memory\n");
539
540 return p;
541}
542
532int 543int
533utf8decode(char *s, long *u) { 544utf8decode(char *s, long *u) {
534 uchar c; 545 uchar c;
@@ -3789,7 +3800,7 @@ main(int argc, char *argv[]) {
3789 if(argc > 1) { 3800 if(argc > 1) {
3790 opt_cmd = &argv[1]; 3801 opt_cmd = &argv[1];
3791 if(argv[1] != NULL && opt_title == NULL) { 3802 if(argv[1] != NULL && opt_title == NULL) {
3792 titles = strdup(argv[1]); 3803 titles = xstrdup(argv[1]);
3793 opt_title = basename(titles); 3804 opt_title = basename(titles);
3794 } 3805 }
3795 } 3806 }