Compare commits
2 Commits
71e15e94af
...
21e8ea1486
Author | SHA1 | Date | |
---|---|---|---|
21e8ea1486 | |||
8f0b6d80b2 |
@ -1,6 +1,7 @@
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#define CHUNK 4194304 // 4 MB
|
||||
@ -14,6 +15,6 @@ int main()
|
||||
printf("Allocating 4 MB of memory... %lx\n", (unsigned long)allocated);
|
||||
sleep(1);
|
||||
} while ((allocated = malloc(CHUNK)));
|
||||
printf("Out of memory. (errno=%d)\n", errno);
|
||||
printf("Out of memory. (errno=%d, %s)\n", errno, strerror(errno));
|
||||
printf("Press any key to restart.\n");
|
||||
}
|
@ -23,6 +23,8 @@ extern "C"
|
||||
deprecated("strcat is unsafe and should not be used; use strncat instead") char* strcat(char*, const char*);
|
||||
char* strncat(char*, const char*, size_t);
|
||||
|
||||
char* strerror(int);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
@ -1,3 +1,4 @@
|
||||
#include <errno.h>
|
||||
#include <luna.h>
|
||||
#include <string.h>
|
||||
|
||||
@ -108,4 +109,20 @@ extern "C"
|
||||
// we return "m_start" + the amount of bytes that were transfered
|
||||
return (void*)(((size_t)start) + i);
|
||||
}
|
||||
|
||||
#pragma GCC push_options
|
||||
#pragma GCC diagnostic ignored "-Wwrite-strings"
|
||||
|
||||
char* strerror(int errnum)
|
||||
{
|
||||
switch (errnum)
|
||||
{
|
||||
case EPERM: return "Operation not permitted";
|
||||
case EINVAL: return "Invalid argument";
|
||||
case ENOMEM: return "Out of memory";
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GCC pop_options
|
||||
}
|
Loading…
Reference in New Issue
Block a user