parent
dcfcae1ed4
commit
a1f7f2869e
2 changed files with 75 additions and 0 deletions
@ -0,0 +1,55 @@ |
||||
|
||||
#include "XAlloc.h" |
||||
#include "RichString.h" |
||||
|
||||
#ifndef _GNU_SOURCE |
||||
#define _GNU_SOURCE |
||||
#endif |
||||
#include <unistd.h> |
||||
#include <string.h> |
||||
|
||||
/*{
|
||||
#include <stdlib.h> |
||||
}*/ |
||||
|
||||
static char oomMessage[] = "Out of memory!\n"; |
||||
|
||||
void* xMalloc(size_t size) { |
||||
void* data = malloc(size); |
||||
if (!data && size > 0) { |
||||
curs_set(1); |
||||
endwin(); |
||||
write(2, oomMessage, sizeof oomMessage); |
||||
} |
||||
return data; |
||||
} |
||||
|
||||
void* xCalloc(size_t nmemb, size_t size) { |
||||
void* data = calloc(nmemb, size); |
||||
if (!data && nmemb > 0 && size > 0) { |
||||
curs_set(1); |
||||
endwin(); |
||||
write(2, oomMessage, sizeof oomMessage); |
||||
} |
||||
return data; |
||||
} |
||||
|
||||
void* xRealloc(void* ptr, size_t size) { |
||||
void* data = realloc(ptr, size); |
||||
if (!data && size > 0) { |
||||
curs_set(1); |
||||
endwin(); |
||||
write(2, oomMessage, sizeof oomMessage); |
||||
} |
||||
return data; |
||||
} |
||||
|
||||
char* xStrdup(const char* str) { |
||||
char* data = strdup(str); |
||||
if (!data && str) { |
||||
curs_set(1); |
||||
endwin(); |
||||
write(2, oomMessage, sizeof oomMessage); |
||||
} |
||||
return data; |
||||
} |
||||
@ -0,0 +1,20 @@ |
||||
/* Do not edit this file. It was automatically generated. */ |
||||
|
||||
#ifndef HEADER_XAlloc |
||||
#define HEADER_XAlloc |
||||
|
||||
#ifndef _GNU_SOURCE |
||||
#define _GNU_SOURCE |
||||
#endif |
||||
|
||||
#include <stdlib.h> |
||||
|
||||
void* xMalloc(size_t size); |
||||
|
||||
void* xCalloc(size_t nmemb, size_t size); |
||||
|
||||
void* xRealloc(void* ptr, size_t size); |
||||
|
||||
char* xStrdup(const char* str); |
||||
|
||||
#endif |
||||
Loading…
Reference in new issue