Build fixes for bmpx
[monky] / src / combine.c
index 58cfd86..d9a8063 100644 (file)
@@ -118,7 +118,8 @@ void print_combine(struct text_object *obj, char *p, struct information *cur)
                generate_text_internal(buf[i], max_user_text, *objsub, cur);
                for(j=0; buf[i][j] != 0; j++) {
                        if(buf[i][j] == '\t') buf[i][j] = ' ';
-                       if(buf[i][j] == '\n') {
+                       if(buf[i][j] == '\n') buf[i][j] = 0;    //the vars inside combine may not have a \n at the end
+                       if(buf[i][j] == 2) {    // \002 is used instead of \n to separate lines inside a var
                                buf[i][j] = 0;
                                current[i]->row = strdup(buf[i]+nextstart);
                                if(i==0 && (long)strlen(current[i]->row) > longest) longest = (long)strlen(current[i]->row);
@@ -174,6 +175,8 @@ void free_combine(struct text_object *obj)
        free(cd->left);
        free(cd->seperation);
        free(cd->right);
+       free_text_objects(obj->sub->sub, 1);
+       free(obj->sub->sub);
        free_text_objects(obj->sub, 1);
        free(obj->sub);
        free(obj->data.opaque);