summaryrefslogtreecommitdiffstats
path: root/smenu.c
diff options
context:
space:
mode:
authorpgen <p.gen.progs@gmail.com>2023-05-31 15:51:01 +0200
committerpgen <p.gen.progs@gmail.com>2023-06-04 14:09:41 +0200
commitd817b62ed45b44f67f7732afbb79fb53c046844d (patch)
tree5141d73b1e1b47d4b44f1cd55916e690f7e5d1b9 /smenu.c
parente79250d50fc19667d688e3413e8aa3307120325c (diff)
Small fixes
Add a forgotten free. Use of xstrdup instead of strdup.
Diffstat (limited to 'smenu.c')
-rw-r--r--smenu.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/smenu.c b/smenu.c
index 10438a8..609c75d 100644
--- a/smenu.c
+++ b/smenu.c
@@ -7432,7 +7432,7 @@ align_word(word_t * word, alignment_t alignment, size_t prefix, char sp)
case AL_LEFT:
/* Left align the word. */
/* """""""""""""""""""" */
- str = strdup(word->str + prefix);
+ str = xstrdup(word->str + prefix);
n = 0;
while (str[n] == sp)
@@ -7448,7 +7448,7 @@ align_word(word_t * word, alignment_t alignment, size_t prefix, char sp)
case AL_RIGHT:
/* Right align the word. */
/* """"""""""""""""""""" */
- str = strdup(word->str + prefix);
+ str = xstrdup(word->str + prefix);
n = strlen(str) - 1;
while (n && str[n] == sp)
@@ -7464,7 +7464,7 @@ align_word(word_t * word, alignment_t alignment, size_t prefix, char sp)
case AL_CENTERED:
/* Center the word. */
/* """""""""""""""" */
- str = strdup(word->str + prefix);
+ str = xstrdup(word->str + prefix);
n = 0;
l = strlen(str);
m = l - 1;
@@ -7476,7 +7476,10 @@ align_word(word_t * word, alignment_t alignment, size_t prefix, char sp)
m--;
if (n > m)
+ {
+ free(str);
break;
+ }
wl = m - n + 1;
memset(word->str + prefix, sp, l);
@@ -10926,8 +10929,8 @@ main(int argc, char * argv[])
else
alignment = default_alignment;
- str = strdup(word_a[wi].str + daccess.flength);
- tstr = strdup(str);
+ str = xstrdup(word_a[wi].str + daccess.flength);
+ tstr = xstrdup(str);
rtrim(tstr, "\x05", 0);
ltrim(tstr, "\x05");