- bug fixes

This commit is contained in:
zolliker
2010-01-27 13:39:43 +00:00
parent b67bd76031
commit 835f5db90a
3 changed files with 114 additions and 12 deletions

View File

@ -18,6 +18,7 @@ Markus Zolliker, March 2005
#include "pardef.h"
#include "sugar.h"
#include "commandlog.h"
#include "dynstring.h"
#define ILLNUM -2
#define ILLARGC -3
@ -458,7 +459,30 @@ static int ParExecute(SConnection * con, SicsInterp * sics, void *object,
int iret, logIt = 0;
ParData *o = ParCheck(&parClass, object);
char *setArgv[2];
ParInfo *info;
/* debugging
int i;
printf("ParExecute");
for (i=0;i<argc;i++) {
printf(" %s", argv[i]);
}
printf("\n");
*/
if (argc >= 2 && 0 == strcasecmp(argv[1], "loggeditems")) {
pDynString dyn = CreateDynString(124,128);
for (info = o->infoList; info != NULL; info = info->next) {
if (info->log) {
DynStringConcat(dyn, " ");
DynStringConcat(dyn, argv[0]);
DynStringConcat(dyn, ".");
DynStringConcat(dyn, info->name);
}
}
SCWrite(con, GetCharArray(dyn) + 1, eValue);
DeleteDynString(dyn);
return 1;
}
ParBegin();
ctx->callName = argv[0];
ParSaveConn(o, con);
@ -658,7 +682,7 @@ void ParFind(void)
p = calloc(1, sizeof *p);
if (p == NULL)
return;
p->name = ctx->parName;
p->name = strdup(ctx->parName);
p->log = NULL;
p->saveIt = 0;
p->saveLog = 0;
@ -1436,6 +1460,9 @@ void ParKill(void *object)
q = p->next;
p->next = NULL;
KillLogger(p);
if (p->name) {
free(p->name);
}
free(p);
p = q;
}