minor fixes
[colorize.git] / lib / colorize.c
index 6c8caba..25ca678 100644 (file)
@@ -47,32 +47,46 @@ int colorize_prepare(struct colorize *col)
        ASSERT(col->max_depth >= 2, "image too small");
 
        col->nb_list = calloc(col->max_depth, sizeof(struct neighbors *));
-       if (!col->nb_list)
+       if (!col->nb_list) {
+               rc = -1;
                goto error;
+       }
        col->marks = calloc(col->max_depth, sizeof(darray_t *));
-       if (!col->marks)
+       if (!col->marks) {
+               rc = -1;
                goto error;
+       }
        col->values = calloc(col->max_depth, sizeof(darray_t *));
-       if (!col->values)
+       if (!col->values) {
+               rc = -1;
                goto error;
+       }
        col->flows = calloc(col->max_depth, sizeof(darray_t *));
-       if (!col->flows)
+       if (!col->flows) {
+               rc = -1;
                goto error;
+       }
        col->flows_i = calloc(col->max_depth, sizeof(darray_t *));
-       if (!col->flows_i)
+       if (!col->flows_i) {
+               rc = -1;
                goto error;
+       }
        if (col->scalexyz) {
                /* the flows_xy are scaled in xy in the current level */
                col->flows_xy = calloc(col->max_depth, sizeof(darray_t *));
-               if (!col->flows_xy)
+               if (!col->flows_xy) {
+                       rc = -1;
                        goto error;
+               }
        }
        dimensions[0] = col->w;
        dimensions[1] = col->h;
        dimensions[2] = col->k;
        luminance = darrayCreate(3, dimensions);
-       if (!luminance)
+       if (!luminance) {
+               rc = -1;
                goto error;
+       }
        /* generate sparse multigrid */
        last_kk = kk = col->k;
        printf("-> prepare sparse grid");
@@ -85,26 +99,34 @@ int colorize_prepare(struct colorize *col)
                dimensions[1] = hh;
                dimensions[2] = last_kk;
                col->marks[d] = darrayCreate(3, dimensions);
-               if (!col->marks[d])
+               if (!col->marks[d]) {
+                       rc = -1;
                        goto error;
+               }
                dimensions[0] = ww;
                dimensions[1] = hh;
                dimensions[2] = last_kk-1;
                dimensions[3] = 2;
                col->flows[d] = darrayCreate(4, dimensions);
-               if (!col->flows[d])
+               if (!col->flows[d]) {
+                       rc = -1;
                        goto error;
+               }
                col->flows_i[d] = darrayCreate(4, dimensions);
-               if (!col->flows_i[d])
+               if (!col->flows_i[d]) {
+                       rc = -1;
                        goto error;
+               }
                if (d < col->scalexyz) {
                        dimensions[0] = (ww+1)>>1;
                        dimensions[1] = (hh+1)>>1;
                        dimensions[2] = kk-1;
                        dimensions[3] = 2;
                        col->flows_xy[d] = darrayCreate(4, dimensions);
-                       if (!col->flows_xy[d])
+                       if (!col->flows_xy[d]) {
+                               rc = -1;
                                goto error;
+                       }
                }
                if (d == 0) {
                        for (z = 0; z < kk; z++) {
@@ -177,14 +199,18 @@ int colorize_prepare(struct colorize *col)
                dimensions[1] = hh;
                dimensions[2] = kk;
                col->values[d] = darrayCreate(3, dimensions);
-               if (!col->values[d])
+               if (!col->values[d]) {
+                       rc = -1;
                        goto error;
+               }
 
                /* generate array of neighbors */
 #ifndef TEST_NO_RENDER
                col->nb_list[d] = gen_neighbor(ww, hh, kk, col->flows[d], col->flows_i[d]);
-               if (!col->nb_list[d])
+               if (!col->nb_list[d]) {
+                       rc = -1;
                        goto error;
+               }
                /* weighten */
                weighten(luminance, col->nb_list[d]);
 #endif
@@ -201,8 +227,10 @@ int colorize_prepare(struct colorize *col)
        dimensions[1] = col->h;
        dimensions[2] = col->k;
        col->init = darrayCreate(3, dimensions);
-       if (!col->init)
+       if (!col->init) {
+               rc = -1;
                goto error;
+       }
 
 #ifdef TEST_PYRAMID
        dimensions[0] = col->w;