diff --git a/src/CALLBACK/sirius_callback.c b/src/CALLBACK/sirius_callback.c index 8e60abe..5286bcb 100644 --- a/src/CALLBACK/sirius_callback.c +++ b/src/CALLBACK/sirius_callback.c @@ -16,4 +16,4 @@ int SiriusDefaultCallback(void *something_from_the_caller, const char *sMsg, int { printf("%s", sMsg); } -} \ No newline at end of file +} diff --git a/src/CALLBACK/sirius_callback.h b/src/CALLBACK/sirius_callback.h index 308b589..f61cecc 100644 --- a/src/CALLBACK/sirius_callback.h +++ b/src/CALLBACK/sirius_callback.h @@ -3,6 +3,8 @@ extern "C" { #endif #pragma once + +#define SIRIUS_CALLBACK_BUFFER_SIZE 1024 typedef enum SIRIUS_LOGLEVEL { SIRIUS_TRACE, @@ -14,6 +16,7 @@ extern "C" } SIRIUS_LOGLEVEL; typedef int (*callback_function)(void *something_from_the_caller, const char *sMsg, int nLen, SIRIUS_LOGLEVEL log_level); int SiriusDefaultCallback(void *something_from_the_caller, const char *sMsg, int nLen, SIRIUS_LOGLEVEL log_level); + #ifdef __cplusplus } #endif \ No newline at end of file diff --git a/src/SIMPLEXE/spx_appliquer_eta_vecteurs_transposee.c b/src/SIMPLEXE/spx_appliquer_eta_vecteurs_transposee.c index 366bc96..0abc659 100644 --- a/src/SIMPLEXE/spx_appliquer_eta_vecteurs_transposee.c +++ b/src/SIMPLEXE/spx_appliquer_eta_vecteurs_transposee.c @@ -55,15 +55,18 @@ EtaNbTerm = Spx->EtaNbTerm; EtaIndiceLigne = Spx->EtaIndiceLigne; EtaColonne = Spx->EtaColonne; EtaMoins1Valeur = Spx->EtaMoins1Valeur; +callback_function call_back = SPXgetcbmessage(Spx); if ( CalculEnHyperCreux == OUI_SPX ) { if ( TypeDeStockage == COMPACT_LU ) goto HyperCreux; if ( TypeDeStockage == ADRESSAGE_INDIRECT_LU ) { - printf("Attention TypeDeStockage = ADRESSAGE_INDIRECT_LU pas teste dans SPX_AppliquerLesEtaVecteursTransposee\n"); - goto HyperCreux; + const char* msg ="Attention TypeDeStockage = ADRESSAGE_INDIRECT_LU pas teste dans SPX_AppliquerLesEtaVecteursTransposee\n"; + call_back(Spx->something_from_the_caller, msg, 0, SIRIUS_WARN); + goto HyperCreux; } else if ( TypeDeStockage != VECTEUR_LU ) { - printf("AppliquerLesEtaVecteursTransposee: type de stockage non gere\n"); + const char* msg = "AppliquerLesEtaVecteursTransposee: type de stockage non gere\n"; + call_back(Spx->something_from_the_caller, msg, 0, SIRIUS_FATAL); exit(0); } } @@ -88,11 +91,16 @@ return; # if CONTROLE_RAZ_DES_VECTEURS == OUI_SPX for ( j = 0 ; j < Spx->NombreDeContraintes ; j++ ) { if ( Spx->AReduit[j] != 0 ) { - printf("AppliquerLesEtaVecteursTransposee: Spx->AReduit[%d] = %e\n",j,Spx->AReduit[j]); + char msg [SIRIUS_CALLBACK_BUFFER_SIZE]; + snprintf(msg, SIRIUS_CALLBACK_BUFFER_SIZE, "AppliquerLesEtaVecteursTransposee: Spx->AReduit[%d] = %e\n",j,Spx->AReduit[j]); + call_back(Spx->something_from_the_caller, msg, 0, SIRIUS_FATAL); exit(0); } if ( Spx->Marqueur[j] != -1 ) { - printf("AppliquerLesEtaVecteursTransposee: Spx->Marqueur[%d] = %d\n",j,Spx->Marqueur[j]); + + char msg [SIRIUS_CALLBACK_BUFFER_SIZE]; + snprintf(msg, SIRIUS_CALLBACK_BUFFER_SIZE, "AppliquerLesEtaVecteursTransposee: Spx->Marqueur[%d] = %d\n",j,Spx->Marqueur[j]); + call_back(Spx->something_from_the_caller, msg, 0, SIRIUS_FATAL); exit(0); } }