forked from github/server
Memory leaks plugged
This commit is contained in:
parent
f375f28a93
commit
359e711d4d
|
@ -460,7 +460,9 @@ stripfaction (faction * f)
|
|||
#ifdef OLD_MESSAGES
|
||||
free_messages(f->msgs);
|
||||
#else
|
||||
/* TODO */
|
||||
/* TODO: inhalt auch löschen */
|
||||
if (f->msgs) free(f->msgs);
|
||||
if (f->battles) free(f->battles);
|
||||
#endif
|
||||
/* TODO: free msgs */
|
||||
freestrlist(f->mistakes);
|
||||
|
|
|
@ -148,6 +148,7 @@ parse_plaintext(struct xml_stack *stack, const char *str)
|
|||
if (strcmp(tagparent->name, "string")==0) {
|
||||
locale_setstring(state->lang, mkname(state->nspc, state->mtname), str);
|
||||
} else {
|
||||
if (state->nrtext!=NULL) free(state->nrtext);
|
||||
state->nrtext = strdup(str);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -331,11 +331,10 @@ parse(opstack ** stack, const char* inn, const void * userdata)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
char *
|
||||
const char *
|
||||
translate(const char* format, const void * userdata, const char* vars, const void* args[])
|
||||
{
|
||||
int i = 0;
|
||||
char * retval;
|
||||
const char *ic = vars;
|
||||
char symbol[32];
|
||||
char *oc = symbol;
|
||||
|
@ -357,15 +356,12 @@ translate(const char* format, const void * userdata, const char* vars, const voi
|
|||
}
|
||||
|
||||
if (parse(&stack, format, userdata)==NULL) return NULL;
|
||||
retval = strdup(opop(&stack, const char*));
|
||||
|
||||
return retval;
|
||||
return opop(&stack, const char*);
|
||||
}
|
||||
|
||||
char *
|
||||
const char *
|
||||
translate_va(const char* format, const void * userdata, const char* vars, ...)
|
||||
{
|
||||
char * retval;
|
||||
va_list marker;
|
||||
const char *ic = vars;
|
||||
char symbol[32];
|
||||
|
@ -389,9 +385,7 @@ translate_va(const char* format, const void * userdata, const char* vars, ...)
|
|||
va_end(marker); /* Reset variable arguments. */
|
||||
|
||||
if (parse(&stack, format, userdata)==NULL) return NULL;
|
||||
retval = strdup(opop(&stack, const char*));
|
||||
|
||||
return retval;
|
||||
return opop(&stack, const char*);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -18,8 +18,8 @@ extern void opstack_push(struct opstack ** stack, void * data);
|
|||
|
||||
extern void translation_init(void);
|
||||
extern void translation_done(void);
|
||||
extern char * translate_va(const char* format, const void * userdata, const char* vars, ...);
|
||||
extern char * translate(const char* format, const void * userdata, const char* vars, const void* args[]);
|
||||
extern const char * translate_va(const char* format, const void * userdata, const char* vars, ...);
|
||||
extern const char * translate(const char* format, const void * userdata, const char* vars, const void* args[]);
|
||||
|
||||
/* eval_x functions */
|
||||
typedef void (*evalfun)(struct opstack ** stack, const void *);
|
||||
|
|
|
@ -29,16 +29,14 @@ void
|
|||
test_translation(void)
|
||||
{
|
||||
int x;
|
||||
char * c;
|
||||
const char * c;
|
||||
|
||||
c = translate_va("\"$name is a godlike $role.\"", "name role", "enno", "coder");
|
||||
if (c) puts(c);
|
||||
free(c);
|
||||
|
||||
for (x=0;x!=4;++x) {
|
||||
c = translate_va(sample, "i", x);
|
||||
if (c) puts(c);
|
||||
free(c);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue