aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcathook <cat.hook31894@gmail.com>2013-11-24 20:30:33 +0800
committercathook <cat.hook31894@gmail.com>2013-11-24 20:30:33 +0800
commitb8aad261bbdea4ebcf03d48faa6ffca328476274 (patch)
treeb3ba78e2ca6cbb89732027ac438d6dc2e13a7fc5
parentc56c03da816ef7b09fd14e00e0cc4ee1a347bafd (diff)
downloadctl-b8aad261bbdea4ebcf03d48faa6ffca328476274.tar.gz
ctl-b8aad261bbdea4ebcf03d48faa6ffca328476274.tar.zst
ctl-b8aad261bbdea4ebcf03d48faa6ffca328476274.zip
add comments on both .h and .c
-rw-r--r--include/utility.h48
-rw-r--r--src/utility.c17
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);
}