diff --git a/engine/lib/dataset.c b/engine/lib/dataset.c index cbcf589..8422f69 100644 --- a/engine/lib/dataset.c +++ b/engine/lib/dataset.c @@ -69,7 +69,6 @@ PH7_PRIVATE sxi32 SySetGetNextEntry(SySet *pSet, void **ppEntry) { pSet->nCursor++; return SXRET_OK; } -#ifndef PH7_DISABLE_BUILTIN_FUNC PH7_PRIVATE void *SySetPeekCurrentEntry(SySet *pSet) { register unsigned char *zSrc; if(pSet->nCursor >= pSet->nUsed) { @@ -78,7 +77,6 @@ PH7_PRIVATE void *SySetPeekCurrentEntry(SySet *pSet) { zSrc = (unsigned char *)SySetBasePtr(pSet); return (void *)&zSrc[pSet->nCursor * pSet->eSize]; } -#endif /* PH7_DISABLE_BUILTIN_FUNC */ PH7_PRIVATE sxi32 SySetTruncate(SySet *pSet, sxu32 nNewSize) { if(nNewSize < pSet->nUsed) { pSet->nUsed = nNewSize; diff --git a/include/ph7.h b/include/ph7.h index e153ffb..fd92069 100644 --- a/include/ph7.h +++ b/include/ph7.h @@ -124,12 +124,6 @@ typedef struct ph7 ph7; * size! (the -Os option if using GCC). * Telling your compiler to optimize for size usually has a much larger impact * on library footprint than employing any of these compile-time options. - * PH7_DISABLE_BUILTIN_FUNC - * PH7 come with more than 460 built-in functions suitable for most purposes ranging - * from string/XML/INI processing to ZIP extracting, Base64 encoding/decoding and so on. - * If this directive is enabled, all the built-in functions are omitted from the build. - * Note that language construct functions such as is_int(), is_string(), func_get_arg(), - * define(), etc. are not omitted from the build and are not affected by this directive. * PH7_ENABLE_MATH_FUNC * If this directive is enabled, built-in math functions such as sqrt(),abs(), * log(), ceil(), etc. are included in the build. Note that you may need to link diff --git a/include/ph7int.h b/include/ph7int.h index 9d6ea66..c07410c 100644 --- a/include/ph7int.h +++ b/include/ph7int.h @@ -535,7 +535,6 @@ struct SyLex { ( (RAW)->zString[(RAW)->nByte - 1] == 0 || SyisSpace((RAW)->zString[(RAW)->nByte - 1]))){\ (RAW)->nByte--;\ } -#ifndef PH7_DISABLE_BUILTIN_FUNC /* * -------------- * Archive extractor: @@ -597,7 +596,6 @@ struct SyArchiveEntry { * Extra flags for extending the file local header */ #define SXZIP_EXTRA_TIMESTAMP 0x001 /* Extended UNIX timestamp */ -#endif /* PH7_DISABLE_BUILTIN_FUNC */ #ifndef PH7_DISABLE_HASH_FUNC /* MD5 context */ typedef struct MD5Context MD5Context; @@ -1701,9 +1699,7 @@ PH7_PRIVATE sxi32 PH7_VmUnsetMemObj(ph7_vm *pVm, sxu32 nObjIdx, int bForce); PH7_PRIVATE void PH7_VmRandomString(ph7_vm *pVm, char *zBuf, int nLen); PH7_PRIVATE ph7_class *PH7_VmExtractActiveClass(ph7_vm *pVm, sxi32 iDepth); PH7_PRIVATE int PH7_VmIsCallable(ph7_vm *pVm, ph7_value *pValue, int CallInvoke); -#ifndef PH7_DISABLE_BUILTIN_FUNC - PH7_PRIVATE const ph7_io_stream *PH7_VmGetStreamDevice(ph7_vm *pVm, const char **pzDevice, int nByte); -#endif /* PH7_DISABLE_BUILTIN_FUNC */ +PH7_PRIVATE const ph7_io_stream *PH7_VmGetStreamDevice(ph7_vm *pVm, const char **pzDevice, int nByte); PH7_PRIVATE int PH7_Utf8Read( const unsigned char *z, /* First byte of UTF-8 character */ const unsigned char *zTerm, /* Pretend this byte is 0x00 */ @@ -1752,7 +1748,6 @@ PH7_PRIVATE void PH7_HashmapExtractNodeKey(ph7_hashmap_node *pNode, ph7_value *p PH7_PRIVATE void PH7_RegisterHashmapFunctions(ph7_vm *pVm); PH7_PRIVATE sxi32 PH7_HashmapDump(SyBlob *pOut, ph7_hashmap *pMap, int ShowType, int nTab, int nDepth); PH7_PRIVATE sxi32 PH7_HashmapWalk(ph7_hashmap *pMap, int (*xWalk)(ph7_value *, ph7_value *, void *), void *pUserData); -#ifndef PH7_DISABLE_BUILTIN_FUNC PH7_PRIVATE int PH7_HashmapValuesToSet(ph7_hashmap *pMap, SySet *pOut); /* builtin.c function prototypes */ PH7_PRIVATE sxi32 PH7_InputFormat(int (*xConsumer)(ph7_context *, const char *, int, void *), @@ -1762,7 +1757,6 @@ PH7_PRIVATE sxi32 PH7_ProcessCsv(const char *zInput, int nByte, int delim, int e PH7_PRIVATE sxi32 PH7_CsvConsumer(const char *zToken, int nTokenLen, void *pUserData); PH7_PRIVATE sxi32 PH7_StripTagsFromString(ph7_context *pCtx, const char *zIn, int nByte, const char *zTaglist, int nTaglen); PH7_PRIVATE sxi32 PH7_ParseIniString(ph7_context *pCtx, const char *zIn, sxu32 nByte, int bProcessSection); -#endif /* oo.c function prototypes */ PH7_PRIVATE ph7_class_info *PH7_NewClassInfo(ph7_vm *pVm, const SyString *pName); PH7_PRIVATE ph7_class *PH7_NewRawClass(ph7_vm *pVm, const SyString *pName); @@ -1789,12 +1783,10 @@ PH7_PRIVATE sxi32 PH7_ClassInstanceWalk(ph7_class_instance *pThis, int (*xWalk)(const char *, ph7_value *, void *), void *pUserData); PH7_PRIVATE ph7_value *PH7_ClassInstanceFetchAttr(ph7_class_instance *pThis, const SyString *pName); /* vfs.c */ -#ifndef PH7_DISABLE_BUILTIN_FUNC PH7_PRIVATE void *PH7_StreamOpenHandle(ph7_vm *pVm, const ph7_io_stream *pStream, const char *zFile, int iFlags, int use_include, ph7_value *pResource, int bPushInclude, int *pNew); PH7_PRIVATE sxi32 PH7_StreamReadWholeFile(void *pHandle, const ph7_io_stream *pStream, SyBlob *pOut); PH7_PRIVATE void PH7_StreamCloseHandle(const ph7_io_stream *pStream, void *pHandle); -#endif /* PH7_DISABLE_BUILTIN_FUNC */ PH7_PRIVATE const char *PH7_ExtractDirName(const char *zPath, int nByte, int *pLen); PH7_PRIVATE sxi32 PH7_RegisterIORoutine(ph7_vm *pVm); PH7_PRIVATE const ph7_vfs *PH7_ExportBuiltinVfs(void); @@ -1802,50 +1794,38 @@ PH7_PRIVATE void *PH7_ExportStdin(ph7_vm *pVm); PH7_PRIVATE void *PH7_ExportStdout(ph7_vm *pVm); PH7_PRIVATE void *PH7_ExportStderr(ph7_vm *pVm); /* lib.c function prototypes */ -#ifndef PH7_DISABLE_BUILTIN_FUNC - PH7_PRIVATE sxi32 SyArchiveInit(SyArchive *pArch, SyMemBackend *pAllocator, ProcHash xHash, ProcRawStrCmp xCmp); - PH7_PRIVATE sxi32 SyArchiveRelease(SyArchive *pArch); - PH7_PRIVATE sxi32 SyArchiveResetLoopCursor(SyArchive *pArch); - PH7_PRIVATE sxi32 SyArchiveGetNextEntry(SyArchive *pArch, SyArchiveEntry **ppEntry); - PH7_PRIVATE sxi32 SyZipExtractFromBuf(SyArchive *pArch, const char *zBuf, sxu32 nLen); -#endif /* PH7_DISABLE_BUILTIN_FUNC */ -#ifndef PH7_DISABLE_BUILTIN_FUNC - PH7_PRIVATE sxi32 SyBinToHexConsumer(const void *pIn, sxu32 nLen, ProcConsumer xConsumer, void *pConsumerData); -#endif /* PH7_DISABLE_BUILTIN_FUNC */ -#ifndef PH7_DISABLE_BUILTIN_FUNC - #ifndef PH7_DISABLE_HASH_FUNC - PH7_PRIVATE sxu32 SyCrc32(const void *pSrc, sxu32 nLen); - PH7_PRIVATE void MD5Update(MD5Context *ctx, const unsigned char *buf, unsigned int len); - PH7_PRIVATE void MD5Final(unsigned char digest[16], MD5Context *ctx); - PH7_PRIVATE sxi32 MD5Init(MD5Context *pCtx); - PH7_PRIVATE sxi32 SyMD5Compute(const void *pIn, sxu32 nLen, unsigned char zDigest[16]); - PH7_PRIVATE void SHA1Init(SHA1Context *context); - PH7_PRIVATE void SHA1Update(SHA1Context *context, const unsigned char *data, unsigned int len); - PH7_PRIVATE void SHA1Final(SHA1Context *context, unsigned char digest[20]); - PH7_PRIVATE sxi32 SySha1Compute(const void *pIn, sxu32 nLen, unsigned char zDigest[20]); - #endif -#endif /* PH7_DISABLE_BUILTIN_FUNC */ +PH7_PRIVATE sxi32 SyArchiveInit(SyArchive *pArch, SyMemBackend *pAllocator, ProcHash xHash, ProcRawStrCmp xCmp); +PH7_PRIVATE sxi32 SyArchiveRelease(SyArchive *pArch); +PH7_PRIVATE sxi32 SyArchiveResetLoopCursor(SyArchive *pArch); +PH7_PRIVATE sxi32 SyArchiveGetNextEntry(SyArchive *pArch, SyArchiveEntry **ppEntry); +PH7_PRIVATE sxi32 SyZipExtractFromBuf(SyArchive *pArch, const char *zBuf, sxu32 nLen); +PH7_PRIVATE sxi32 SyBinToHexConsumer(const void *pIn, sxu32 nLen, ProcConsumer xConsumer, void *pConsumerData); +#ifndef PH7_DISABLE_HASH_FUNC + PH7_PRIVATE sxu32 SyCrc32(const void *pSrc, sxu32 nLen); + PH7_PRIVATE void MD5Update(MD5Context *ctx, const unsigned char *buf, unsigned int len); + PH7_PRIVATE void MD5Final(unsigned char digest[16], MD5Context *ctx); + PH7_PRIVATE sxi32 MD5Init(MD5Context *pCtx); + PH7_PRIVATE sxi32 SyMD5Compute(const void *pIn, sxu32 nLen, unsigned char zDigest[16]); + PH7_PRIVATE void SHA1Init(SHA1Context *context); + PH7_PRIVATE void SHA1Update(SHA1Context *context, const unsigned char *data, unsigned int len); + PH7_PRIVATE void SHA1Final(SHA1Context *context, unsigned char digest[20]); + PH7_PRIVATE sxi32 SySha1Compute(const void *pIn, sxu32 nLen, unsigned char zDigest[20]); +#endif PH7_PRIVATE sxi32 SyRandomness(SyPRNGCtx *pCtx, void *pBuf, sxu32 nLen); PH7_PRIVATE sxi32 SyRandomnessInit(SyPRNGCtx *pCtx, ProcRandomSeed xSeed, void *pUserData); PH7_PRIVATE sxu32 SyBufferFormat(char *zBuf, sxu32 nLen, const char *zFormat, ...); PH7_PRIVATE sxu32 SyBlobFormatAp(SyBlob *pBlob, const char *zFormat, va_list ap); PH7_PRIVATE sxu32 SyBlobFormat(SyBlob *pBlob, const char *zFormat, ...); PH7_PRIVATE sxi32 SyProcFormat(ProcConsumer xConsumer, void *pData, const char *zFormat, ...); -#ifndef PH7_DISABLE_BUILTIN_FUNC - PH7_PRIVATE const char *SyTimeGetMonth(sxi32 iMonth); - PH7_PRIVATE const char *SyTimeGetDay(sxi32 iDay); -#endif /* PH7_DISABLE_BUILTIN_FUNC */ +PH7_PRIVATE const char *SyTimeGetMonth(sxi32 iMonth); +PH7_PRIVATE const char *SyTimeGetDay(sxi32 iDay); PH7_PRIVATE sxi32 SyUriDecode(const char *zSrc, sxu32 nLen, ProcConsumer xConsumer, void *pUserData, int bUTF8); -#ifndef PH7_DISABLE_BUILTIN_FUNC - PH7_PRIVATE sxi32 SyUriEncode(const char *zSrc, sxu32 nLen, ProcConsumer xConsumer, void *pUserData); -#endif +PH7_PRIVATE sxi32 SyUriEncode(const char *zSrc, sxu32 nLen, ProcConsumer xConsumer, void *pUserData); PH7_PRIVATE sxi32 SyLexRelease(SyLex *pLex); PH7_PRIVATE sxi32 SyLexTokenizeInput(SyLex *pLex, const char *zInput, sxu32 nLen, void *pCtxData, ProcSort xSort, ProcCmp xCmp); PH7_PRIVATE sxi32 SyLexInit(SyLex *pLex, SySet *pSet, ProcTokenizer xTokenizer, void *pUserData); -#ifndef PH7_DISABLE_BUILTIN_FUNC - PH7_PRIVATE sxi32 SyBase64Decode(const char *zB64, sxu32 nLen, ProcConsumer xConsumer, void *pUserData); - PH7_PRIVATE sxi32 SyBase64Encode(const char *zSrc, sxu32 nLen, ProcConsumer xConsumer, void *pUserData); -#endif /* PH7_DISABLE_BUILTIN_FUNC */ +PH7_PRIVATE sxi32 SyBase64Decode(const char *zB64, sxu32 nLen, ProcConsumer xConsumer, void *pUserData); +PH7_PRIVATE sxi32 SyBase64Encode(const char *zSrc, sxu32 nLen, ProcConsumer xConsumer, void *pUserData); PH7_PRIVATE sxi32 SyStrToReal(const char *zSrc, sxu32 nLen, void *pOutVal, const char **zRest); PH7_PRIVATE sxi32 SyRealPath(const char *zPath, char **fPath); PH7_PRIVATE sxi32 SyBinaryStrToInt64(const char *zSrc, sxu32 nLen, void *pOutVal, const char **zRest); @@ -1873,16 +1853,12 @@ PH7_PRIVATE sxi32 SySetRelease(SySet *pSet); PH7_PRIVATE sxi32 SySetReset(SySet *pSet); PH7_PRIVATE sxi32 SySetResetCursor(SySet *pSet); PH7_PRIVATE sxi32 SySetGetNextEntry(SySet *pSet, void **ppEntry); -#ifndef PH7_DISABLE_BUILTIN_FUNC - PH7_PRIVATE void *SySetPeekCurrentEntry(SySet *pSet); -#endif /* PH7_DISABLE_BUILTIN_FUNC */ +PH7_PRIVATE void *SySetPeekCurrentEntry(SySet *pSet); PH7_PRIVATE sxi32 SySetTruncate(SySet *pSet, sxu32 nNewSize); PH7_PRIVATE sxi32 SySetAlloc(SySet *pSet, sxi32 nItem); PH7_PRIVATE sxi32 SySetPut(SySet *pSet, const void *pItem); PH7_PRIVATE sxi32 SySetInit(SySet *pSet, SyMemBackend *pAllocator, sxu32 ElemSize); -#ifndef PH7_DISABLE_BUILTIN_FUNC - PH7_PRIVATE sxi32 SyBlobSearch(const void *pBlob, sxu32 nLen, const void *pPattern, sxu32 pLen, sxu32 *pOfft); -#endif +PH7_PRIVATE sxi32 SyBlobSearch(const void *pBlob, sxu32 nLen, const void *pPattern, sxu32 pLen, sxu32 *pOfft); PH7_PRIVATE sxi32 SyBlobRelease(SyBlob *pBlob); PH7_PRIVATE sxi32 SyBlobReset(SyBlob *pBlob); PH7_PRIVATE sxi32 SyBlobCmp(SyBlob *pLeft, SyBlob *pRight); @@ -1913,13 +1889,9 @@ PH7_PRIVATE sxi32 SyMemcmp(const void *pB1, const void *pB2, sxu32 nSize); PH7_PRIVATE void SyZero(void *pSrc, sxu32 nSize); PH7_PRIVATE sxi32 SyStrnicmp(const char *zLeft, const char *zRight, sxu32 SLen); PH7_PRIVATE sxi32 SyStrnmicmp(const void *pLeft, const void *pRight, sxu32 SLen); -#ifndef PH7_DISABLE_BUILTIN_FUNC - PH7_PRIVATE sxi32 SyStrncmp(const char *zLeft, const char *zRight, sxu32 nLen); -#endif +PH7_PRIVATE sxi32 SyStrncmp(const char *zLeft, const char *zRight, sxu32 nLen); PH7_PRIVATE sxi32 SyByteListFind(const char *zSrc, sxu32 nLen, const char *zList, sxu32 *pFirstPos); -#ifndef PH7_DISABLE_BUILTIN_FUNC - PH7_PRIVATE sxi32 SyByteFind2(const char *zStr, sxu32 nLen, sxi32 c, sxu32 *pPos); -#endif +PH7_PRIVATE sxi32 SyByteFind2(const char *zStr, sxu32 nLen, sxi32 c, sxu32 *pPos); PH7_PRIVATE sxi32 SyByteFind(const char *zStr, sxu32 nLen, sxi32 c, sxu32 *pPos); PH7_PRIVATE sxu32 SyStrlen(const char *zSrc); #if defined(PH7_ENABLE_THREADS)