aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2018-04-01 19:59:37 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2018-04-01 19:59:37 +0200
commit899ae5337acc2d24edcd64e570adfc5f3c1a8a8a (patch)
tree9ec3de6ffce8df5f82d1428d595ffe4028905a3d /libbb
parente2afae6303e871a31a061d03359cfcd5dd86c088 (diff)
downloadbusybox-w32-899ae5337acc2d24edcd64e570adfc5f3c1a8a8a.tar.gz
busybox-w32-899ae5337acc2d24edcd64e570adfc5f3c1a8a8a.tar.bz2
busybox-w32-899ae5337acc2d24edcd64e570adfc5f3c1a8a8a.zip
libbb: new function bb_die_memory_exhausted
function old new delta bb_die_memory_exhausted - 10 +10 xstrdup 28 23 -5 xsetenv 27 22 -5 xrealloc 32 27 -5 xputenv 22 17 -5 xmalloc 30 25 -5 xfdopen_helper 40 35 -5 xasprintf 44 39 -5 wget_main 2387 2382 -5 open_socket 54 49 -5 glob_brace 419 414 -5 bb_get_chunk_from_file 146 141 -5 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/11 up/down: 10/-55) Total: -45 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'libbb')
-rw-r--r--libbb/get_line_from_file.c2
-rw-r--r--libbb/wfopen.c2
-rw-r--r--libbb/xfuncs_printf.c15
3 files changed, 12 insertions, 7 deletions
diff --git a/libbb/get_line_from_file.c b/libbb/get_line_from_file.c
index d10066937..f3d6c6203 100644
--- a/libbb/get_line_from_file.c
+++ b/libbb/get_line_from_file.c
@@ -20,7 +20,7 @@ char* FAST_FUNC bb_get_chunk_from_file(FILE *file, size_t *end)
20 /* grow the line buffer as necessary */ 20 /* grow the line buffer as necessary */
21 if (!(idx & 0xff)) { 21 if (!(idx & 0xff)) {
22 if (idx == ((size_t)-1) - 0xff) 22 if (idx == ((size_t)-1) - 0xff)
23 bb_error_msg_and_die(bb_msg_memory_exhausted); 23 bb_die_memory_exhausted();
24 linebuf = xrealloc(linebuf, idx + 0x100); 24 linebuf = xrealloc(linebuf, idx + 0x100);
25 } 25 }
26 linebuf[idx++] = (char) ch; 26 linebuf[idx++] = (char) ch;
diff --git a/libbb/wfopen.c b/libbb/wfopen.c
index 20fe18b23..1c7f7f3d7 100644
--- a/libbb/wfopen.c
+++ b/libbb/wfopen.c
@@ -42,7 +42,7 @@ static FILE* xfdopen_helper(unsigned fd_and_rw_bit)
42{ 42{
43 FILE* fp = fdopen(fd_and_rw_bit >> 1, fd_and_rw_bit & 1 ? "w" : "r"); 43 FILE* fp = fdopen(fd_and_rw_bit >> 1, fd_and_rw_bit & 1 ? "w" : "r");
44 if (!fp) 44 if (!fp)
45 bb_error_msg_and_die(bb_msg_memory_exhausted); 45 bb_die_memory_exhausted();
46 return fp; 46 return fp;
47} 47}
48FILE* FAST_FUNC xfdopen_for_read(int fd) 48FILE* FAST_FUNC xfdopen_for_read(int fd)
diff --git a/libbb/xfuncs_printf.c b/libbb/xfuncs_printf.c
index 2bc01ad10..7247c915b 100644
--- a/libbb/xfuncs_printf.c
+++ b/libbb/xfuncs_printf.c
@@ -25,6 +25,11 @@
25 * fail, so callers never need to check for errors. If it returned, it 25 * fail, so callers never need to check for errors. If it returned, it
26 * succeeded. */ 26 * succeeded. */
27 27
28void FAST_FUNC bb_die_memory_exhausted(void)
29{
30 bb_error_msg_and_die(bb_msg_memory_exhausted);
31}
32
28#ifndef DMALLOC 33#ifndef DMALLOC
29/* dmalloc provides variants of these that do abort() on failure. 34/* dmalloc provides variants of these that do abort() on failure.
30 * Since dmalloc's prototypes overwrite the impls here as they are 35 * Since dmalloc's prototypes overwrite the impls here as they are
@@ -44,7 +49,7 @@ void* FAST_FUNC xmalloc(size_t size)
44{ 49{
45 void *ptr = malloc(size); 50 void *ptr = malloc(size);
46 if (ptr == NULL && size != 0) 51 if (ptr == NULL && size != 0)
47 bb_error_msg_and_die(bb_msg_memory_exhausted); 52 bb_die_memory_exhausted();
48 return ptr; 53 return ptr;
49} 54}
50 55
@@ -55,7 +60,7 @@ void* FAST_FUNC xrealloc(void *ptr, size_t size)
55{ 60{
56 ptr = realloc(ptr, size); 61 ptr = realloc(ptr, size);
57 if (ptr == NULL && size != 0) 62 if (ptr == NULL && size != 0)
58 bb_error_msg_and_die(bb_msg_memory_exhausted); 63 bb_die_memory_exhausted();
59 return ptr; 64 return ptr;
60} 65}
61#endif /* DMALLOC */ 66#endif /* DMALLOC */
@@ -79,7 +84,7 @@ char* FAST_FUNC xstrdup(const char *s)
79 t = strdup(s); 84 t = strdup(s);
80 85
81 if (t == NULL) 86 if (t == NULL)
82 bb_error_msg_and_die(bb_msg_memory_exhausted); 87 bb_die_memory_exhausted();
83 88
84 return t; 89 return t;
85} 90}
@@ -327,14 +332,14 @@ char* FAST_FUNC xasprintf(const char *format, ...)
327 va_end(p); 332 va_end(p);
328 333
329 if (r < 0) 334 if (r < 0)
330 bb_error_msg_and_die(bb_msg_memory_exhausted); 335 bb_die_memory_exhausted();
331 return string_ptr; 336 return string_ptr;
332} 337}
333 338
334void FAST_FUNC xsetenv(const char *key, const char *value) 339void FAST_FUNC xsetenv(const char *key, const char *value)
335{ 340{
336 if (setenv(key, value, 1)) 341 if (setenv(key, value, 1))
337 bb_error_msg_and_die(bb_msg_memory_exhausted); 342 bb_die_memory_exhausted();
338} 343}
339 344
340/* Handles "VAR=VAL" strings, even those which are part of environ 345/* Handles "VAR=VAL" strings, even those which are part of environ