1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
| bool log_add( const char* hea, const char* fun, const char* msg )
{
extern log_t* f_log;
bool c = false;
if ( hea && fun && msg )
{
log_t* a = NULL; //Testing pointer for the reallocation of f_log
if ( f_log )
{
a = f_log; size_t sz_new = a->sz+1;
char** b = NULL; //Testing pointer for reallocation of the string
if ( ( b = realloc( (a->hea), sz_new*sizeof( *a ) ) ) )
{
a->hea = b;
if ( ( a->hea[sz_new-1] = str_copy(hea) ) )
{
if ( ( b = realloc( (a->fun), sz_new*sizeof( *a ) ) ) )
{
a->fun = b;
if ( ( a->fun[sz_new-1] = str_copy(fun) ) )
{
if ( ( b = realloc( (a->msg), sz_new*sizeof( *a ) ) ) )
{
a->msg = b;
if ( ( a->msg[sz_new-1] = str_copy(msg) ) )
{
a->sz = sz_new;
f_log = a;
c = true;
}
}
else log_destroy(&a);
}
else log_destroy(&a);
}
else log_destroy(&a);
}
else log_destroy(&a);
}
else log_destroy(&a);
}
else log_destroy(&a);
}
return c;
}
par un plus élégant
bool log_add( const char* hea, const char* fun, const char* msg )
{
extern log_t* f_log;
bool c = false;
if ( hea && fun && msg )
{
log_t* a = NULL; //Testing pointer for the reallocation of f_log
if ( f_log )
{
a = f_log; size_t sz_new = a->sz+1;
char** b = NULL; //Testing pointer for reallocation of the string
if ( ( b = realloc( (a->hea), sz_new*sizeof( *a ) ) ) )
{
a->hea = b;
if ( ( a->hea[sz_new-1] = str_copy(hea) ) )
{
if ( ( b = realloc( (a->fun), sz_new*sizeof( *a ) ) ) )
{
a->fun = b;
if ( ( a->fun[sz_new-1] = str_copy(fun) ) )
{
if ( ( b = realloc( (a->msg), sz_new*sizeof( *a ) ) ) )
{
a->msg = b;
if ( ( a->msg[sz_new-1] = str_copy(msg) ) )
{
a->sz = sz_new;
f_log = a;
c = true;
}
}
else log_destroy(&a);
}
else log_destroy(&a);
}
else log_destroy(&a);
}
else log_destroy(&a);
}
else log_destroy(&a);
}
else log_destroy(&a);
}
return c;
} |
Partager