(wrong string) ée

From: <git_AT_suckless.org>
Date: Tue, 26 Apr 2016 23:17:21 +0200 (CEST)

commit c07798feb5475b47562d6f9e90a564fc1121d25e
Author: Mattias Andrée <maandree_AT_kth.se>
AuthorDate: Tue Apr 26 23:17:02 2016 +0200
Commit: Mattias Andrée <maandree_AT_kth.se>
CommitDate: Tue Apr 26 23:17:02 2016 +0200

    Add, and use, libzahl_memfailure for conciseness, also fix possible unset errno
    
    Signed-off-by: Mattias Andrée <maandree_AT_kth.se>

diff --git a/src/allocator.c b/src/allocator.c
index 80668f1..10170ae 100644
--- a/src/allocator.c
+++ b/src/allocator.c
_AT_@ -22,11 +22,8 @@ libzahl_realloc(z_t a, size_t need)
                 a->chars = new;
         } else {
                 a->chars = realloc(a->chars, new_size * sizeof(zahl_char_t));
- if (unlikely(!a->chars)) {
- if (!errno) /* sigh... */
- errno = ENOMEM;
- libzahl_failure(errno);
- }
+ if (unlikely(!a->chars))
+ libzahl_memfailure();
         }
         a->alloced = new_size;
 }
diff --git a/src/internals.h b/src/internals.h
index 6454a21..40dd74d 100644
--- a/src/internals.h
+++ b/src/internals.h
_AT_@ -135,6 +135,14 @@ libzahl_failure(int error)
 }
 
 static inline void
+libzahl_memfailure()
+{
+ if (!errno) /* sigh... */
+ errno = ENOENT;
+ libzahl_failure(errno);
+}
+
+static inline void
 zmemcpy(zahl_char_t *restrict d, const zahl_char_t *restrict s, register size_t n)
 {
         while (n--)
_AT_@ -322,9 +330,7 @@ zinit_temp(z_t a)
                 libzahl_temp_stack = realloc(old, 2 * n * sizeof(*libzahl_temp_stack));
                 if (unlikely(!libzahl_temp_stack)) {
                         libzahl_temp_stack = old;
- if (!errno) /* sigh... */
- errno = ENOMEM;
- libzahl_failure(errno);
+ libzahl_memfailure();
                 }
                 libzahl_temp_stack_head = libzahl_temp_stack + n;
                 libzahl_temp_stack_end = libzahl_temp_stack_head + n;
diff --git a/src/zsetup.c b/src/zsetup.c
index e36bff3..212a1e9 100644
--- a/src/zsetup.c
+++ b/src/zsetup.c
_AT_@ -45,11 +45,8 @@ zsetup(jmp_buf env)
                         zinit(libzahl_tmp_divmod_ds[i]);
 
                 libzahl_temp_stack = malloc(256 * sizeof(*libzahl_temp_stack));
- if (unlikely(!libzahl_temp_stack)) {
- if (!errno) /* sigh... */
- errno = ENOMEM;
- libzahl_failure(errno);
- }
+ if (unlikely(!libzahl_temp_stack))
+ libzahl_memfailure();
                 libzahl_temp_stack_head = libzahl_temp_stack;
                 libzahl_temp_stack_end = libzahl_temp_stack + 256;
         }
diff --git a/src/zstr.c b/src/zstr.c
index cd237df..d10cdff 100644
--- a/src/zstr.c
+++ b/src/zstr.c
_AT_@ -63,7 +63,7 @@ zstr(z_t a, char *b)
 
         if (unlikely(zzero(a))) {
                 if (unlikely(!b) && unlikely(!(b = malloc(2))))
- libzahl_failure(errno);
+ libzahl_memfailure();
                 b[0] = '0';
                 b[1] = 0;
                 return b;
_AT_@ -72,7 +72,7 @@ zstr(z_t a, char *b)
         n = zstr_length(a, 10);
 
         if (unlikely(!b) && unlikely(!(b = malloc(n + 1))))
- libzahl_failure(errno);
+ libzahl_memfailure();
 
         neg = znegative(a);
         zabs(num, a);
Received on Tue Apr 26 2016 - 23:17:21 CEST

This archive was generated by hypermail 2.3.0 : Tue Apr 26 2016 - 23:24:13 CEST