X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=swcsa%2Futils%2Fbasics.c;h=c9cb275f729e7bf89f80adc6b14d373113c74d4d;hb=72aa11ca7df7975f650344e8904a1a690be2480e;hp=398e9758d35131ed4ea0716608e0b71e69cde366;hpb=46d3fee70e7e9576c4cc8af46cd66c1c8eceb1e9;p=SXSI%2FTextCollection.git diff --git a/swcsa/utils/basics.c b/swcsa/utils/basics.c index 398e975..c9cb275 100755 --- a/swcsa/utils/basics.c +++ b/swcsa/utils/basics.c @@ -1,3 +1,6 @@ +#ifdef __cplusplus +extern "C" { +#endif // Basics @@ -7,9 +10,9 @@ #include // Memory management - - void *Malloc (int n) - + +static void *Malloc (size_t n) + { void *p; if (n == 0) return NULL; p = (void*) malloc (n); @@ -19,14 +22,14 @@ } return p; } - - void Free (void *p) - - { if (p) free (p); + +static void Free (void *p) + + { if (p) free (p); } - - void *Realloc (void *p, int n) - + +static void *Realloc (void *p, size_t n) + { if (p == NULL) return Malloc (n); if (n == 0) { Free(p); return NULL; } p = (void*) realloc (p,n); @@ -41,7 +44,7 @@ // bits needed to represent a number between 0 and n -uint bits (uint n) +uint _bits (uint n) { uint b = 0; while (n) @@ -68,7 +71,7 @@ uint bitread (uint *e, uint p, uint len) // writes e[p..p+len-1] = s, len <= W -void bitwrite (register uint *e, register uint p, +void bitwrite (register uint *e, register uint p, register uint len, register uint s) { e += p/W; p %= W; @@ -89,7 +92,7 @@ void bitwrite (register uint *e, register uint p, } // writes e[p..p+len-1] = 0 -void bitzero2 (register uint *e, register uint p, +void bitzero2 (register uint *e, register uint p, register uint len) { e += p/W; p %= W; @@ -105,3 +108,6 @@ void bitzero2 (register uint *e, register uint p, if (len > 0) *e &= ~(((1<