- improvements and bug fixes

This commit is contained in:
zolliker
2010-04-13 14:32:18 +00:00
parent 410166572b
commit 9e4eabeed1
6 changed files with 144 additions and 71 deletions

View File

@ -243,11 +243,11 @@ static void ArrayObjParDef(void *object)
ArrayObj *arr = ParCast(&arrayObjClass, object);
FILE *saveFile;
ArrayItem *item, *next;
char *u;
char *u, *v;
WrtObjContext context;
static int doNotNest = 0;
int saveObjects;
saveFile = ParSaveFile();
if (!doNotNest && saveFile && arr->saveFile && *arr->saveFile) {
saveObjects = WrtObjOpen(&context, arr->saveFile);
@ -261,8 +261,18 @@ static void ArrayObjParDef(void *object)
} else {
u = "";
}
fprintf(saveFile, " %s makeitem %s \"%s\" \"%s\"\n", arr->p.name,
item->name, item->value, u);
if (item->value) {
v = item->value;
} else {
v = "";
}
if (strchr(v, '\n') != NULL) {
fprintf(saveFile, " %s makeitem %s {%s} \"%s\"\n", arr->p.name,
item->name, v, u);
} else {
fprintf(saveFile, " %s makeitem %s \"%s\" \"%s\"\n", arr->p.name,
item->name, v, u);
}
if (saveObjects) {
WrtObj(&context, item->name);
}