00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __CS_UTIL_H__
00020 #define __CS_UTIL_H__
00021
00022 #include <stdio.h>
00023
00033 extern char *csStrNew (const char *s);
00034
00044 extern char *csExpandName (const char *iName);
00045
00050 extern void csSplitPath (const char *iPathName, char *oPath, size_t iPathSize,
00051 char *oName, size_t iNameSize);
00052
00061 extern bool csGlobMatches (const char *fName, const char *fMask);
00062
00067 int csFindNearestPowerOf2 (int n);
00068
00070 bool csIsPowerOf2 (int n);
00071
00073 static inline int csLog2 (int n)
00074 {
00075 int l = 31; unsigned x = 0x80000000;
00076 while (x && !(n & x))
00077 l--, x >>= 1;
00078 return l;
00079 }
00080
00086 void csFindReplace (char *dest, const char *src, const char *search,
00087 const char *replace, int max);
00088
00089 #endif // __CS_UTIL_H__