libsheepy

C lib for handling text files, strings and json like data structure with an object oriented system
git clone https://spartatek.se/git/libsheepy.git
Log | Files | Refs | README | LICENSE

DateCommit messageAuthorFiles+-
2026-01-01 16:29update copyright yearRemy Noulin54+54-54
2025-06-17 10:58add findCharB, fix issue in setG when setting void* in a smallBytes objectRemy Noulin8+26-6
2025-05-20 08:13allocate correct size in copyBRemy Noulin4+4-4
2025-05-10 16:25fix segfault in expandHome when path is empty, add setValB to replace a btt with another one, add isEmptyB to check if a btt is empty, add isValidB to check if a btt has correct values, add eqCharB to compare a btt to a char, add joinCharB to join a vbtt list, add bCompactB to compact a vbtt list, add bNormalizePathB to normalize a btt holding a pathRemy Noulin10+586-14
2025-04-04 19:32fix issue when duplicating btt buffers with len 0, the alloc size was 0 and when alloc is 0, it means readonly buffer. Alloc size is 4 when len is 0Remy Noulin6+12-8
2025-04-04 08:02Add btt functions: toCharB, bInsertBB, copyRngB, bCropBRemy Noulin6+294-4
2025-02-28 06:34Add a function to initialize libsheepy without the thread poolRemy Noulin5+18-10
2025-02-24 06:04Fix variable name collision in sliceFrom and staticSliceFrom macrosRemy Noulin2+10-10
2025-01-04 18:19speed up splitSSmallStringRemy Noulin3+12-5
2025-01-01 19:39fix buffer overflow (by 1 byte) in stripColorsS functionRemy Noulin54+60-60
2024-10-31 07:16add bPushNulB to convert btt buffer to char*Remy Noulin6+48-2
2024-10-24 13:53add btt functions reallocB, bInsertB, bDelB, bDelElemB, readFileB, writeFileBRemy Noulin6+502-2
2024-08-16 07:37add support for riscv cpusRemy Noulin56+77-71
2023-12-12 13:35add jsonMaxValueBufferSize variable to control max value size in json parserRemy Noulin5+15-2
2023-09-26 18:10remove extra escape codes in LOG_VOID modeRemy Noulin4+24-20
2023-09-21 10:51add cleanVoidP to free void* when it is out of scopeRemy Noulin4+32-2
2023-09-08 06:20initialize count in sliceInitCountRemy Noulin4+8303-5368
2023-07-10 12:57for smallJson objects, allow setting top of same type multiple timesRemy Noulin5+12-10
2023-05-08 08:02Add clean functions for baset objectRemy Noulin23+131-36
2023-03-06 12:28add cleanFd and replaceSLenRemy Noulin6+156-8
2023-01-01 14:34update copyright yearRemy Noulin54+54-54
2022-12-26 19:25fix BLI blink codeRemy Noulin2+4-4
2022-12-04 19:00add italic and blink terminal effectsRemy Noulin2+8-0
2022-10-20 19:14Fix null dereference introduced in b62563e (fix memory leaks)Remy Noulin5+14-12
2022-09-27 13:50fix new0Ptr macroRemy Noulin2+2-2
2022-08-25 12:47add pipe on each line when log mode is verboseRemy Noulin2+6-2
2022-07-03 14:31Fix memory leaksRemy Noulin6+26-4
2022-07-01 12:58fix escaping for dict or array in dicts and arraysRemy Noulin4+6-6
2022-06-26 13:22add quote and escape functions to escape control characters in strings and jsons (escapeG), all returned values in libsheepy.c and libsheepySmall.c are checked in the testsRemy Noulin26+10619-3621
2022-06-01 19:16json parser: detect string escape errors earlierRemy Noulin3+4-3
2022-04-28 11:40add bt (byte buffer type) to normal buildRemy Noulin1+3-2
2022-04-28 11:09bugfix: avoid freeing a static string when the system is out of memory in shEPrintSRemy Noulin4+4-4
2022-03-24 20:28add setSmallBytes in setG, add openLogFile, use memmove in slice macros, add staticArrayDelElem macro, rename bt, vbt and dbt structs to btt, vbtt, dbtt (to avoid name collision with bt: button in gui code), add keepAnsiColorsInLog() to keep or remove colors in logs, stripColorsS, iStripColorsS, bStripColorsS to remove ansi colorsRemy Noulin14+2513-1914
2022-03-09 19:46print empty char** list as [] instead of (null), print all error logs with logE to avoid stdout when it is disabledRemy Noulin5+10-8
2022-01-27 19:58add bt in allocG, getOTypeG, pushG, dupG, trimG, sliceG and splitGRemy Noulin3+218-16
2022-01-27 19:14add bt (bytes type): a pointer with lengthRemy Noulin17+3426-14
2022-01-26 12:24add makeRoom macro and optimize readText functionRemy Noulin4+96-18
2022-01-01 12:46update copyright yearRemy Noulin54+54-54
2021-12-24 21:16fix bug in cleanDispose* for smallArray, smallDict and smallJson, add LOG_PROGNFUNC, add prog name in LOG_VERBOSE, fix warning in print_mRemy Noulin14+52-25
2021-12-09 15:12add enableCoreDump functionRemy Noulin4+70-2
2021-11-25 12:54show correct path to libsheepy in homeMake.shRemy Noulin1+3-3
2021-09-23 11:06fix coredump on segfaults. In segfault handler call default handlerRemy Noulin4+26-26
2021-09-19 19:36make logSystem return the exit code from system()Remy Noulin2+6-6
2021-09-09 19:29stop printing error when a dict with an empty string is converted to json or yml stringRemy Noulin3+15-6
2021-08-29 18:56fix bug in compact function for smallArray and smallJson, allocate an empty sArray when the result is an empty arrayRemy Noulin10+108-3
2021-08-06 20:22update readmeRemy Noulin2+2-0
2021-08-06 14:21Compiled with more gcc(10.2) warnings enabled and removed themRemy Noulin50+8819-4921
2021-07-22 12:22fix compilation issues in linux arm 64 platformsRemy Noulin5+22-18
2021-07-15 19:46fix bugs discovered in freebsdRemy Noulin4+36-4
2021-06-14 08:12fix o() macro for methods without parametersRemy Noulin4+10-4
2021-06-08 12:16fix logSystem print, the command is interpreted as a string (not a format string) add replaceSMax synonym for replaceS_max, update readmeRemy Noulin5+40-20
2021-06-07 20:21fix problems found with facebook infer static analyzerRemy Noulin16+494-37
2021-05-28 07:36update examplesRemy Noulin9+32-76
2021-05-25 06:50remove intmax_t and use i64 instead to make sure larger ints are not usedRemy Noulin42+4521-4524
2021-05-23 19:38fix issues found with CoverityRemy Noulin13+31-12
2021-05-23 12:26Update libyaml to version 0.2.5Remy Noulin7+203-150
2021-05-23 12:05Fix bugs found with the libhsheepy testsRemy Noulin27+4224-1364
2021-05-23 11:39Add tests for libsheepyObject codeRemy Noulin40+399860-0
2021-03-25 09:34add buildStaticAnalysis.sh for compiling only onceRemy Noulin1+34-0
2021-01-09 12:33fix bugs in libsheepy.c, add tests for libsheepy.c and libsheepySmall.cRemy Noulin8+447-26
2021-01-06 14:47fix problems detected with clang static analyzer 11Remy Noulin6+85-24
2021-01-04 20:29add isError macro to assign, test value and return an error, fix problems detected with gcc 10.2 static analyzerRemy Noulin18+1366-246
2021-01-02 20:15fix problems detected with clang static analyzerRemy Noulin3+96-23
2021-01-02 13:10add clang static analyzerRemy Noulin1+21-0
2021-01-01 19:35update copyright yearRemy Noulin54+54-54
2021-01-01 19:29add cppcheck script and fix an issue btraceRemy Noulin3+29-0
2020-12-24 20:09Fix compile bug in aEnumerate macroRemy Noulin2+4-4
2020-11-23 21:14when the smallContainer class has a free function set, copy it to the sContainer when it is allocated to be able to the data when the container is an array, dict or jsonRemy Noulin3+6-0
2020-11-21 20:29fix error in getAtSmallJson and getAtSmallContainer for smallArray and smallJson classesRemy Noulin2+0-12
2020-10-09 19:46add remove and removeElem generics to remove elements from smallArray, smallDict and smallJson without freeing the elementRemy Noulin20+1793-52
2020-09-19 19:27add forEach element and enumerate for slice, staticSlice, vector, dVector, staticArray, dArray, slab and C arraysRemy Noulin5+674-5
2020-09-01 10:20Accept signed index in smallBytes getAt function to allow negative indexes (like python)Remy Noulin7+69-41
2020-08-31 10:33Ignore NULL elements in arrays (happens after elements are deleted from the array, positions of deleted elements are set to NULL) to avoid the need to compact arraysRemy Noulin5+196-3
2020-08-30 12:03fix cleanup for objects declared in local code blocks and fprintf stderr with logERemy Noulin34+257-32
2020-08-30 10:24add set function in smallBytes classRemy Noulin5+57-24
2020-08-23 10:57print all error messages with pLog (libsheepy log system)Remy Noulin5+29-16
2020-07-28 18:51fix cleanup free macros, add generics test and fix errors related to genericsRemy Noulin41+16095-850
2020-07-15 11:54add otos function to print baset object in gdbRemy Noulin5+29-2
2020-07-14 19:47add log levels: emergency, alert, notice and debugRemy Noulin6+448-154
2020-07-10 18:31fix compilation in gcc6Remy Noulin1+1-1
2020-07-03 18:29change readFileG and readTextG for char* and char** types - now they take a pointer to the variable instead of return typeRemy Noulin5+120-32
2020-06-17 18:22add defines for some gcc attributesRemy Noulin2+108-0
2020-06-04 10:29fix bug in delElemG for smallJsonRemy Noulin3+8-2
2020-05-27 11:12add sizeS which returns strlen+1, fix bugs in libsheepy.cRemy Noulin10+25130-5976
2020-05-13 06:11update readme to clarify versioningRemy Noulin1+6-0
2020-05-12 19:17fix gcc8 warnings and a bug (missing break; in smallJson)Remy Noulin9+422-372
2020-05-12 17:57add test files for libsheepyObjectTestRemy Noulin4+33-0
2020-05-12 17:49add CuTest for libsheepySmall.c and libsheepyObjectRemy Noulin7+4137-4
2020-05-12 10:52fix libsheepy.c testsRemy Noulin5+5-0
2020-05-12 10:29add CuTest for libsheepy.cRemy Noulin5+9222-33
2020-05-12 10:25add CuTest 1.5, copied from https://github.com/ennorehling/cutestRemy Noulin9+1533-0
2020-05-08 12:04compile all files with gnu11 option to avoid clang warning about typedef redefinitions in libsheepyObject. Update for FreeBSD 12, dirname uses given buffer in parameters instead of the internal like FreeBSD 11 and before. Add src/runTests.sh to run libsheepy tests.Remy Noulin11+32-20
2020-02-24 10:32add null convenience define (=NULL), add cleanAllocate in smallClasses like createAllocate with cleanupRemy Noulin24+123-0
2020-01-21 05:50copy compiled headers to /usr/local/include/Remy Noulin1+4-0
2020-01-20 16:25compile header files for lower compile timesRemy Noulin1+7-0
2020-01-07 06:44new patch releaseRemy Noulin2+2-2
2020-01-06 16:43fix bugs in iterator, find first non NULL element, return in iterStart when no element is foundRemy Noulin3+130-32
2020-01-06 15:55update copyright dateRemy Noulin54+54-54
2020-01-06 15:34add cleanFinish*, cleanDispose* and cleanSmash* and support NULL pointers in all cleanup functionsRemy Noulin32+429-20
2020-01-03 16:12add clean* macros for cleaning allocated variables (cleanSmallArrayP(name), cleanSmallArray(name), ...), add CLEANUP macroRemy Noulin36+653-0
2020-01-02 14:56add support for libasanRemy Noulin10+47-5
2019-12-23 14:58remove double free in setTopJson functionsRemy Noulin3+13-25
2019-12-23 06:49return NULL in smallBool, smallDouble and smallInt when there is an errorRemy Noulin3+21-21
2019-12-22 17:31New major release: the API prototypes are unchanged, data is not freed automatically as before when there is an error. This version might cause memory leaks.Remy Noulin31+30332-14570
2019-11-03 07:22fix bug in json path when the object is a dict and the path has an array index, add TODO macroRemy Noulin7+23-4
2019-10-27 16:04fix to toString for smallDict when all elements have been deletedRemy Noulin2+18-2
2019-10-24 13:56mergeG is now synonym of appendG, add NFreeG macros synonyms of NSmashG macros to reduce the amount of termsRemy Noulin4+118-76
2019-10-23 12:17add logXSuccess, logXFailure and logExit to log a string and exitRemy Noulin5+111-7
2019-10-21 10:15fix 'free object on stack' warningRemy Noulin9+9-9
2019-10-17 05:23add unless (if not), until (while not) and generate buildMemcheck.sh in genMakeRemy Noulin5+87-3
2019-10-12 08:44add smallBytes support in isEmptyGRemy Noulin8+45-4
2019-09-22 06:52add yes, on defines for true and no, off defines for falseRemy Noulin4+25-0
2019-09-07 09:13make eqG and icEqG NULL safe, add isLSheepyObject macro to check if a variable is an instance of a libsheepy classRemy Noulin4+223-16
2019-09-06 08:45compile libsheepyMemcheck with container recycling disabled for memcheck tests, add MACRO and FUNC macros, add is, equals, shr, shr ic, dec, ptr_to and val_of definesRemy Noulin14+160-8
2019-08-29 13:06add setValO and setValG for simplicity, set stdout unbuffered when redirected to a fileRemy Noulin6+39-3
2019-08-17 06:35add O and o macros for calling object methodsRemy Noulin4+62-0
2019-08-09 14:39replace ggdb compiler option with g3 to get macros in debug symbolsRemy Noulin5+18-18
2019-08-09 05:24add a link to libsheepy user guideRemy Noulin1+2-0
2019-08-06 05:53add command, commandf and commandNFree to run shell command and return the exit valueRemy Noulin6+337-10
2019-08-02 11:48Revert "add rangeM macro (range for macros)"Remy Noulin2+4-22
2019-07-29 13:46add rangeM macro (range for macros)Remy Noulin2+22-4
2019-07-21 14:38add macro defines, add bitfield array, add define for packed attributeRemy Noulin4+470-3
2019-07-21 13:17fix bug in sliceInject (was writing outside buffers and corrupting the heap)Remy Noulin1+3-1
2019-07-09 14:17add build command for musl libcRemy Noulin3+50-0
2019-07-08 06:20add macros in libsheepyObject.hRemy Noulin7+3429-391
2019-07-07 12:39add support array and negative indexes in json paths, add isIntOdd, isIntEven, cBa, BSLH and macros for casting numbers (I64, F64,...)Remy Noulin13+845-981
2019-06-24 14:19change links to spartatekRemy Noulin2+3-3
2019-06-22 15:57update link to sheepyRemy Noulin1+1-1
2019-06-22 05:29new git starting at commit f0c14eea39602dc22332bafe26a2cec987f07a8bRemy Noulin139+331607-0
2021-07-22 12:22fix compilation issues in linux arm 64 platformsRemy Noulin5+22-18
2021-07-15 19:46fix bugs discovered in freebsdRemy Noulin4+36-4
2021-06-14 08:12fix o() macro for methods without parametersRemy Noulin4+10-4
2021-06-08 12:16fix logSystem print, the command is interpreted as a string (not a format string) add replaceSMax synonym for replaceS_max, update readmeRemy Noulin5+40-20
2021-06-07 20:21fix problems found with facebook infer static analyzerRemy Noulin16+494-37
2021-05-28 07:36update examplesRemy Noulin9+32-76
2021-05-25 06:50remove intmax_t and use i64 instead to make sure larger ints are not usedRemy Noulin42+4521-4524
2021-05-23 19:38fix issues found with CoverityRemy Noulin13+31-12
2021-05-23 12:26Update libyaml to version 0.2.5Remy Noulin7+203-150
2021-05-23 12:05Fix bugs found with the libhsheepy testsRemy Noulin27+4224-1364
2021-05-23 11:39Add tests for libsheepyObject codeRemy Noulin40+399860-0
2021-03-25 09:34add buildStaticAnalysis.sh for compiling only onceRemy Noulin1+34-0
2021-01-09 12:33fix bugs in libsheepy.c, add tests for libsheepy.c and libsheepySmall.cRemy Noulin8+447-26
2021-01-06 14:47fix problems detected with clang static analyzer 11Remy Noulin6+85-24
2021-01-04 20:29add isError macro to assign, test value and return an error, fix problems detected with gcc 10.2 static analyzerRemy Noulin18+1366-246
2021-01-02 20:15fix problems detected with clang static analyzerRemy Noulin3+96-23
2021-01-02 13:10add clang static analyzerRemy Noulin1+21-0
2021-01-01 19:35update copyright yearRemy Noulin54+54-54
2021-01-01 19:29add cppcheck script and fix an issue btraceRemy Noulin3+29-0
2020-12-24 20:09Fix compile bug in aEnumerate macroRemy Noulin2+4-4
2020-11-23 21:14when the smallContainer class has a free function set, copy it to the sContainer when it is allocated to be able to the data when the container is an array, dict or jsonRemy Noulin3+6-0
2020-11-21 20:29fix error in getAtSmallJson and getAtSmallContainer for smallArray and smallJson classesRemy Noulin2+0-12
2020-10-09 19:46add remove and removeElem generics to remove elements from smallArray, smallDict and smallJson without freeing the elementRemy Noulin20+1793-52
2020-09-19 19:27add forEach element and enumerate for slice, staticSlice, vector, dVector, staticArray, dArray, slab and C arraysRemy Noulin5+674-5
2020-09-01 10:20Accept signed index in smallBytes getAt function to allow negative indexes (like python)Remy Noulin7+69-41
2020-08-31 10:33Ignore NULL elements in arrays (happens after elements are deleted from the array, positions of deleted elements are set to NULL) to avoid the need to compact arraysRemy Noulin5+196-3
2020-08-30 12:03fix cleanup for objects declared in local code blocks and fprintf stderr with logERemy Noulin34+257-32
2020-08-30 10:24add set function in smallBytes classRemy Noulin5+57-24
2020-08-23 10:57print all error messages with pLog (libsheepy log system)Remy Noulin5+29-16
2020-07-28 18:51fix cleanup free macros, add generics test and fix errors related to genericsRemy Noulin41+16095-850
2020-07-15 11:54add otos function to print baset object in gdbRemy Noulin5+29-2
2020-07-14 19:47add log levels: emergency, alert, notice and debugRemy Noulin6+448-154
2020-07-10 18:31fix compilation in gcc6Remy Noulin1+1-1
2020-07-03 18:29change readFileG and readTextG for char* and char** types - now they take a pointer to the variable instead of return typeRemy Noulin5+120-32
2020-06-17 18:22add defines for some gcc attributesRemy Noulin2+108-0
2020-06-04 10:29fix bug in delElemG for smallJsonRemy Noulin3+8-2
2020-05-27 11:12add sizeS which returns strlen+1, fix bugs in libsheepy.cRemy Noulin10+25130-5976
2020-05-13 06:11update readme to clarify versioningRemy Noulin1+6-0
2020-05-12 19:17fix gcc8 warnings and a bug (missing break; in smallJson)Remy Noulin9+422-372
2020-05-12 17:57add test files for libsheepyObjectTestRemy Noulin4+33-0
2020-05-12 17:49add CuTest for libsheepySmall.c and libsheepyObjectRemy Noulin7+4137-4
2020-05-12 10:52fix libsheepy.c testsRemy Noulin5+5-0
2020-05-12 10:29add CuTest for libsheepy.cRemy Noulin5+9222-33
2020-05-12 10:25add CuTest 1.5, copied from https://github.com/ennorehling/cutestRemy Noulin9+1533-0
2020-05-08 12:04compile all files with gnu11 option to avoid clang warning about typedef redefinitions in libsheepyObject. Update for FreeBSD 12, dirname uses given buffer in parameters instead of the internal like FreeBSD 11 and before. Add src/runTests.sh to run libsheepy tests.Remy Noulin11+32-20
2020-02-24 10:32add null convenience define (=NULL), add cleanAllocate in smallClasses like createAllocate with cleanupRemy Noulin24+123-0
2020-01-21 05:50copy compiled headers to /usr/local/include/Remy Noulin1+4-0
2020-01-20 16:25compile header files for lower compile timesRemy Noulin1+7-0
2020-01-07 06:44new patch releaseRemy Noulin2+2-2
2020-01-06 16:43fix bugs in iterator, find first non NULL element, return in iterStart when no element is foundRemy Noulin3+130-32
2020-01-06 15:55update copyright dateRemy Noulin54+54-54
2020-01-06 15:34add cleanFinish*, cleanDispose* and cleanSmash* and support NULL pointers in all cleanup functionsRemy Noulin32+429-20
2020-01-03 16:12add clean* macros for cleaning allocated variables (cleanSmallArrayP(name), cleanSmallArray(name), ...), add CLEANUP macroRemy Noulin36+653-0
2020-01-02 14:56add support for libasanRemy Noulin10+47-5
2019-12-23 14:58remove double free in setTopJson functionsRemy Noulin3+13-25
2019-12-23 06:49return NULL in smallBool, smallDouble and smallInt when there is an errorRemy Noulin3+21-21
2019-12-22 17:31New major release: the API prototypes are unchanged, data is not freed automatically as before when there is an error. This version might cause memory leaks.Remy Noulin31+30332-14570
2019-11-03 07:22fix bug in json path when the object is a dict and the path has an array index, add TODO macroRemy Noulin7+23-4
2019-10-27 16:04fix to toString for smallDict when all elements have been deletedRemy Noulin2+18-2
2019-10-24 13:56mergeG is now synonym of appendG, add NFreeG macros synonyms of NSmashG macros to reduce the amount of termsRemy Noulin4+118-76
2019-10-23 12:17add logXSuccess, logXFailure and logExit to log a string and exitRemy Noulin5+111-7
2019-10-21 10:15fix 'free object on stack' warningRemy Noulin9+9-9
2019-10-17 05:23add unless (if not), until (while not) and generate buildMemcheck.sh in genMakeRemy Noulin5+87-3
2019-10-12 08:44add smallBytes support in isEmptyGRemy Noulin8+45-4
2019-09-22 06:52add yes, on defines for true and no, off defines for falseRemy Noulin4+25-0
2019-09-07 09:13make eqG and icEqG NULL safe, add isLSheepyObject macro to check if a variable is an instance of a libsheepy classRemy Noulin4+223-16
2019-09-06 08:45compile libsheepyMemcheck with container recycling disabled for memcheck tests, add MACRO and FUNC macros, add is, equals, shr, shr ic, dec, ptr_to and val_of definesRemy Noulin14+160-8
2019-08-29 13:06add setValO and setValG for simplicity, set stdout unbuffered when redirected to a fileRemy Noulin6+39-3
2019-08-17 06:35add O and o macros for calling object methodsRemy Noulin4+62-0
2019-08-09 14:39replace ggdb compiler option with g3 to get macros in debug symbolsRemy Noulin5+18-18
2019-08-09 05:24add a link to libsheepy user guideRemy Noulin1+2-0
2019-08-06 05:53add command, commandf and commandNFree to run shell command and return the exit valueRemy Noulin6+337-10
2019-08-02 11:48Revert "add rangeM macro (range for macros)"Remy Noulin2+4-22
2019-07-29 13:46add rangeM macro (range for macros)Remy Noulin2+22-4
2019-07-21 14:38add macro defines, add bitfield array, add define for packed attributeRemy Noulin4+470-3
2019-07-21 13:17fix bug in sliceInject (was writing outside buffers and corrupting the heap)Remy Noulin1+3-1
2019-07-09 14:17add build command for musl libcRemy Noulin3+50-0
2019-07-08 06:20add macros in libsheepyObject.hRemy Noulin7+3429-391
2019-07-07 12:39add support array and negative indexes in json paths, add isIntOdd, isIntEven, cBa, BSLH and macros for casting numbers (I64, F64,...)Remy Noulin13+845-981
2019-06-24 14:19change links to spartatekRemy Noulin2+3-3
2019-06-22 15:57update link to sheepyRemy Noulin1+1-1
2019-06-22 05:29new git starting at commit f0c14eea39602dc22332bafe26a2cec987f07a8bRemy Noulin139+331607-0
2021-03-25 09:34add buildStaticAnalysis.sh for compiling only onceRemy Noulin1+34-0
2021-01-09 12:33fix bugs in libsheepy.c, add tests for libsheepy.c and libsheepySmall.cRemy Noulin8+447-26
2021-01-06 14:47fix problems detected with clang static analyzer 11Remy Noulin6+85-24
2021-01-04 20:29add isError macro to assign, test value and return an error, fix problems detected with gcc 10.2 static analyzerRemy Noulin18+1366-246
2021-01-02 20:15fix problems detected with clang static analyzerRemy Noulin3+96-23
2021-01-02 13:10add clang static analyzerRemy Noulin1+21-0
2021-01-01 19:35update copyright yearRemy Noulin54+54-54
2021-01-01 19:29add cppcheck script and fix an issue btraceRemy Noulin3+29-0
2020-12-24 20:09Fix compile bug in aEnumerate macroRemy Noulin2+4-4
2020-11-23 21:14when the smallContainer class has a free function set, copy it to the sContainer when it is allocated to be able to the data when the container is an array, dict or jsonRemy Noulin3+6-0
2020-11-21 20:29fix error in getAtSmallJson and getAtSmallContainer for smallArray and smallJson classesRemy Noulin2+0-12
2020-10-09 19:46add remove and removeElem generics to remove elements from smallArray, smallDict and smallJson without freeing the elementRemy Noulin20+1793-52
2020-09-19 19:27add forEach element and enumerate for slice, staticSlice, vector, dVector, staticArray, dArray, slab and C arraysRemy Noulin5+674-5
2020-09-01 10:20Accept signed index in smallBytes getAt function to allow negative indexes (like python)Remy Noulin7+69-41
2020-08-31 10:33Ignore NULL elements in arrays (happens after elements are deleted from the array, positions of deleted elements are set to NULL) to avoid the need to compact arraysRemy Noulin5+196-3
2020-08-30 12:03fix cleanup for objects declared in local code blocks and fprintf stderr with logERemy Noulin34+257-32
2020-08-30 10:24add set function in smallBytes classRemy Noulin5+57-24
2020-08-23 10:57print all error messages with pLog (libsheepy log system)Remy Noulin5+29-16
2020-07-28 18:51fix cleanup free macros, add generics test and fix errors related to genericsRemy Noulin41+16095-850
2020-07-15 11:54add otos function to print baset object in gdbRemy Noulin5+29-2
2020-07-14 19:47add log levels: emergency, alert, notice and debugRemy Noulin6+448-154
2020-07-10 18:31fix compilation in gcc6Remy Noulin1+1-1
2020-07-03 18:29change readFileG and readTextG for char* and char** types - now they take a pointer to the variable instead of return typeRemy Noulin5+120-32
2020-06-17 18:22add defines for some gcc attributesRemy Noulin2+108-0
2020-06-04 10:29fix bug in delElemG for smallJsonRemy Noulin3+8-2
2020-05-27 11:12add sizeS which returns strlen+1, fix bugs in libsheepy.cRemy Noulin10+25130-5976
2020-05-13 06:11update readme to clarify versioningRemy Noulin1+6-0
2020-05-12 19:17fix gcc8 warnings and a bug (missing break; in smallJson)Remy Noulin9+422-372
2020-05-12 17:57add test files for libsheepyObjectTestRemy Noulin4+33-0
2020-05-12 17:49add CuTest for libsheepySmall.c and libsheepyObjectRemy Noulin7+4137-4
2020-05-12 10:52fix libsheepy.c testsRemy Noulin5+5-0
2020-05-12 10:29add CuTest for libsheepy.cRemy Noulin5+9222-33
2020-05-12 10:25add CuTest 1.5, copied from https://github.com/ennorehling/cutestRemy Noulin9+1533-0
2020-05-08 12:04compile all files with gnu11 option to avoid clang warning about typedef redefinitions in libsheepyObject. Update for FreeBSD 12, dirname uses given buffer in parameters instead of the internal like FreeBSD 11 and before. Add src/runTests.sh to run libsheepy tests.Remy Noulin11+32-20
2020-02-24 10:32add null convenience define (=NULL), add cleanAllocate in smallClasses like createAllocate with cleanupRemy Noulin24+123-0
2020-01-21 05:50copy compiled headers to /usr/local/include/Remy Noulin1+4-0
2020-01-20 16:25compile header files for lower compile timesRemy Noulin1+7-0
2020-01-07 06:44new patch releaseRemy Noulin2+2-2
2020-01-06 16:43fix bugs in iterator, find first non NULL element, return in iterStart when no element is foundRemy Noulin3+130-32
2020-01-06 15:55update copyright dateRemy Noulin54+54-54
2020-01-06 15:34add cleanFinish*, cleanDispose* and cleanSmash* and support NULL pointers in all cleanup functionsRemy Noulin32+429-20
2020-01-03 16:12add clean* macros for cleaning allocated variables (cleanSmallArrayP(name), cleanSmallArray(name), ...), add CLEANUP macroRemy Noulin36+653-0
2020-01-02 14:56add support for libasanRemy Noulin10+47-5
2019-12-23 14:58remove double free in setTopJson functionsRemy Noulin3+13-25
2019-12-23 06:49return NULL in smallBool, smallDouble and smallInt when there is an errorRemy Noulin3+21-21
2019-12-22 17:31New major release: the API prototypes are unchanged, data is not freed automatically as before when there is an error. This version might cause memory leaks.Remy Noulin31+30332-14570
2019-11-03 07:22fix bug in json path when the object is a dict and the path has an array index, add TODO macroRemy Noulin7+23-4
2019-10-27 16:04fix to toString for smallDict when all elements have been deletedRemy Noulin2+18-2
2019-10-24 13:56mergeG is now synonym of appendG, add NFreeG macros synonyms of NSmashG macros to reduce the amount of termsRemy Noulin4+118-76
2019-10-23 12:17add logXSuccess, logXFailure and logExit to log a string and exitRemy Noulin5+111-7
2019-10-21 10:15fix 'free object on stack' warningRemy Noulin9+9-9
2019-10-17 05:23add unless (if not), until (while not) and generate buildMemcheck.sh in genMakeRemy Noulin5+87-3
2019-10-12 08:44add smallBytes support in isEmptyGRemy Noulin8+45-4
2019-09-22 06:52add yes, on defines for true and no, off defines for falseRemy Noulin4+25-0
2019-09-07 09:13make eqG and icEqG NULL safe, add isLSheepyObject macro to check if a variable is an instance of a libsheepy classRemy Noulin4+223-16
2019-09-06 08:45compile libsheepyMemcheck with container recycling disabled for memcheck tests, add MACRO and FUNC macros, add is, equals, shr, shr ic, dec, ptr_to and val_of definesRemy Noulin14+160-8
2019-08-29 13:06add setValO and setValG for simplicity, set stdout unbuffered when redirected to a fileRemy Noulin6+39-3
2019-08-17 06:35add O and o macros for calling object methodsRemy Noulin4+62-0
2019-08-09 14:39replace ggdb compiler option with g3 to get macros in debug symbolsRemy Noulin5+18-18
2019-08-09 05:24add a link to libsheepy user guideRemy Noulin1+2-0
2019-08-06 05:53add command, commandf and commandNFree to run shell command and return the exit valueRemy Noulin6+337-10
2019-08-02 11:48Revert "add rangeM macro (range for macros)"Remy Noulin2+4-22
2019-07-29 13:46add rangeM macro (range for macros)Remy Noulin2+22-4
2019-07-21 14:38add macro defines, add bitfield array, add define for packed attributeRemy Noulin4+470-3
2019-07-21 13:17fix bug in sliceInject (was writing outside buffers and corrupting the heap)Remy Noulin1+3-1
2019-07-09 14:17add build command for musl libcRemy Noulin3+50-0
2019-07-08 06:20add macros in libsheepyObject.hRemy Noulin7+3429-391
2019-07-07 12:39add support array and negative indexes in json paths, add isIntOdd, isIntEven, cBa, BSLH and macros for casting numbers (I64, F64,...)Remy Noulin13+845-981
2019-06-24 14:19change links to spartatekRemy Noulin2+3-3
2019-06-22 15:57update link to sheepyRemy Noulin1+1-1
2019-06-22 05:29new git starting at commit f0c14eea39602dc22332bafe26a2cec987f07a8bRemy Noulin139+331607-0