diff options
author | cathook <cat.hook31894@gmail.com> | 2013-11-24 20:30:33 +0800 |
---|---|---|
committer | cathook <cat.hook31894@gmail.com> | 2013-11-24 20:30:33 +0800 |
commit | b8aad261bbdea4ebcf03d48faa6ffca328476274 (patch) | |
tree | b3ba78e2ca6cbb89732027ac438d6dc2e13a7fc5 | |
parent | c56c03da816ef7b09fd14e00e0cc4ee1a347bafd (diff) | |
download | ctl-b8aad261bbdea4ebcf03d48faa6ffca328476274.tar.gz ctl-b8aad261bbdea4ebcf03d48faa6ffca328476274.tar.zst ctl-b8aad261bbdea4ebcf03d48faa6ffca328476274.zip |
add comments on both .h and .c
-rw-r--r-- | include/utility.h | 48 | ||||
-rw-r--r-- | src/utility.c | 17 |
2 files changed, 52 insertions, 13 deletions
diff --git a/include/utility.h b/include/utility.h index 7f41382..a7da5de 100644 --- a/include/utility.h +++ b/include/utility.h @@ -3,20 +3,54 @@ #include <stddef.h> +/**********************************************************/ +/* This object contain some useful functions, constants */ +/* and types. */ +/* Enums: */ +/* ErrorType contain kinds of errors. */ +/* */ +/* Structures: */ +/* */ +/* Types: */ +/* uint unsigned int */ +/* pchar char* */ +/* ppchar char** */ +/* pvoid void* */ +/* ppvoid void** */ +/* cchar const char */ +/* pcchar (const char)* */ +/* ppcchar (const char)** */ +/* cvoid const void */ +/* pcvoid (cosnt void)* */ +/* ppcvoid (const void)** */ +/* */ +/* Functions: */ +/* ctl_malloc like malloc(), but will exit on error */ +/* ctl_realloc like realloc(), but will exit on erro */ +/* ctl_die print some message and exit() */ +/* */ +/**********************************************************/ + typedef enum{ BAD_MEMORY = 0x01 } ErrorType; -typedef unsigned int uint; +typedef unsigned int uint; -#define pVOID(X) ((void* )X) -#define ppVOID(X) ((void**)X) +typedef void* pvoid; +typedef pvoid* ppvoid; +typedef char* pchar; +typedef pchar* ppchar; -#define pCHAR(X) ((char* )X) +typedef const char cchar; +typedef cchar* pcchar; +typedef pcchar* ppcchar; +typedef const void cvoid; +typedef cvoid* pcvoid; +typedef pcvoid* ppcvoid; -void *ctl_malloc (size_t size); -void *ctl_realloc(void *ptr, size_t size); +pvoid ctl_malloc (size_t size); +pvoid ctl_realloc(pvoid *ptr, size_t size); void ctl_die (ErrorType e); - #endif /* __utility_h__ */ diff --git a/src/utility.c b/src/utility.c index 7000c02..bcc2500 100644 --- a/src/utility.c +++ b/src/utility.c @@ -4,26 +4,31 @@ #include <stdlib.h> #include <stddef.h> -void *ctl_malloc(size_t size){ +/*********** like malloc(), but will exit on error ********/ +pvoid ctl_malloc(size_t size){ void *ptr = malloc(size); if(ptr == NULL){ - ctl_die(1); + ctl_die(BAD_MEMORY); } return ptr; } -void *ctl_realloc(void *ptr, size_t size){ + +/********** like realloc(), but will exit on error ********/ +pvoid ctl_realloc(pvoid ptr, size_t size){ ptr = realloc(ptr, size); if(ptr == NULL){ - ctl_die(1); + ctl_die(BAD_MEMORY); } return ptr; } +/********* print some message on STDERR and exit() ********/ void ctl_die(ErrorType e){ + fprintf(stderr, "exit(%d): ", (int)e); switch(e){ case BAD_MEMORY: - fprintf(stderr, "exit: bad memory mananger\n"); + fprintf(stderr, "bad memory mananger\n"); break; } - exit(e); + exit((int)e); } |