|
|
@@ -94,7 +94,6 @@ unescape ( char *s ) |
|
|
|
char * |
|
|
|
Log_Entry::print ( void ) const |
|
|
|
{ |
|
|
|
/* FIXME: gross over-allocation */ |
|
|
|
char *r = (char*)malloc( 1024 ); |
|
|
|
|
|
|
|
r[0] = 0; |
|
|
@@ -105,20 +104,17 @@ Log_Entry::print ( void ) const |
|
|
|
|
|
|
|
get( i, &s, &v ); |
|
|
|
|
|
|
|
/* FIXME: arbitrary limit */ |
|
|
|
char t[1024]; |
|
|
|
snprintf( t, sizeof( t ), "%s %s%s", s, v, size() == i + 1 ? "" : " " ); |
|
|
|
char *t; |
|
|
|
asprintf( &t, "%s %s%s", s, v, size() == i + 1 ? "" : " " ); |
|
|
|
|
|
|
|
strcat( r, t ); |
|
|
|
} |
|
|
|
|
|
|
|
char *r2 = (char*)malloc( strlen( r ) + 1 ); |
|
|
|
r = (char*)realloc( r, strlen(r) + strlen(t) + 1 ); |
|
|
|
|
|
|
|
strcpy( r2, r ); |
|
|
|
strcat( r, t ); |
|
|
|
|
|
|
|
free( r ); |
|
|
|
free(t); |
|
|
|
} |
|
|
|
|
|
|
|
return r2; |
|
|
|
return r; |
|
|
|
} |
|
|
|
|
|
|
|
/** sigh. parse a string of ":name value :name value" pairs into an |
|
|
|