Bugfixes

Quelle drôle d'idée de mettre les fonctions dans le .h, ce qui implique compilation multiple du même code, plus comportements différents en fonction du fichier dans lequel le fichier est inclus (je pense aux variables static qui ne sont pas extern, donc pas globales au programme).

Le system de #define tel qu'il était n'a visiblement pas été testé, puisqu'il cause un appel récursif (je pense notamment à system() dans portability_system_call().

Donc pour récapituler :
* Le code des fonctions a été bougé dans un .c dédié
* portability_system_call() était d'une complexité inutile qui dégradait les performances
* les #define ont été supprimés pour le moment, en attendant de trouver une meilleure solution (.h dédié qui ne serait pas inclus dans portability.c ? ou jeu de #ifdef dans portability.c pour les #undef ?)
* Ajout d'un Makefile, c'est plus pratique, et du .gitignore

D'autre part, ce code doit-il évoluer en véritable librarie ou est-ce juste du code redistribuable ?