Markus Elfring
Markus Elfring
Would you like to add the configuration script “[AX_PTHREAD](https://www.gnu.org/software/autoconf-archive/ax_pthread.html "How to build C programs using POSIX threads")” to [your build specification](https://github.com/cosmos72/twin/blob/1d17f1e2504cc63fb7fb3df1ba174d9284f4ebf8/configure.ac#L184 "Update candidate")?
Would you like to [replace any double quotes](https://github.com/animetrics/PlistCpp/blob/2f455fe58cb0f535553076a4871cfedf5fc0a09b/src/Plist.hpp#L37) by [angle brackets around file names for include statements](http://stackoverflow.com/questions/21593/what-is-the-difference-between-include-filename-and-include-filename)?
I would like to point out that an identifier like "[`__PLIST_DATE_H__`](https://github.com/animetrics/PlistCpp/blob/2f455fe58cb0f535553076a4871cfedf5fc0a09b/src/PlistDate.hpp#L28)" [does eventually not fit](https://www.securecoding.cert.org/confluence/display/cplusplus/DCL51-CPP.+Do+not+declare+or+define+a+reserved+identifier#DCL51-CPP.Donotdeclareordefineareservedidentifier-NoncompliantCodeExample%28HeaderGuard%29) to the expected naming convention of the C++ language standard. Would you like to adjust...
:eyes: Some source code analysis tools can help to find opportunities for improving software components. :thought_balloon: I propose to [increase the usage of combined operators](https://perldoc.perl.org/perlop#Assignment-Operators "Description for assignment operators") accordingly....
I suggest to reuse a higher level build system than your current [small make file](https://github.com/ericfischer/datamaps/blob/09c6b67912d4840827bd8b01e6384d6942758f2e/Makefile#L1) so that powerful checks for software features will become easier. - [CMake](http://cmake.org/) - [Autotools](http://www.gnu.org/software/autoconf/#TOCintroduction)
I have looked at a few source files for your current software. I have noticed that some checks for return codes are missing. Would you like to add more error...
[An extra null pointer check is not needed](https://isocpp.org/wiki/faq/freestore-mgmt#delete-handles-null "Do I need to check for null before delete p?") in [the macros “`DELETE_OBJECT`” and “`DELETE_ARRAY`”](https://github.com/junyanz/light-field-video/blob/c82f53e0a17cbf222c2318aa222598b7df287b23/src/common.h#L37 "Update candidate").
[The variable "threads_on_hold"](https://github.com/Pithikos/C-Thread-Pool/blob/18142eee719734caad35441964f95cc39cf31de7/thpool.c#L32) should [use the data type "sig_atomic_t"](https://www.securecoding.cert.org/confluence/display/c/SIG31-C.+Do+not+access+shared+objects+in+signal+handlers), shouldn't it?
Would you like to add more error handling for return values from functions like the following? - [pthread_create](http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_create.html) ⇒ [thread_init](https://github.com/Pithikos/C-Thread-Pool/blob/18142eee719734caad35441964f95cc39cf31de7/thpool.c#L292) - [pthread_mutex_init](http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_mutex_init.html) ⇒ [thpool_init](https://github.com/Pithikos/C-Thread-Pool/blob/18142eee719734caad35441964f95cc39cf31de7/thpool.c#L115)
I would like to point out that an identifier like "[`__clmulhalfscalarproductwithoutreduction`](https://github.com/lemire/clhash/blob/17efcf4fbba809d52bc5dc401b7f8d92676fe71c/src/clhash.c#L128)" [does eventually not fit](https://www.securecoding.cert.org/confluence/display/c/DCL37-C.+Do+not+declare+or+define+a+reserved+identifier) to the expected naming convention of the C language standard. Would you like to adjust...