Convert dumb_pic.c to K&R style.
authorDavid Griffith <dave@661.org>
Thu, 19 Sep 2019 04:37:18 +0000 (21:37 -0700)
committerDavid Griffith <dave@661.org>
Thu, 19 Sep 2019 04:43:33 +0000 (21:43 -0700)
K&R style conversion for the dumb interface is now complete.

src/dumb/dumb_pic.c

index 55c7dec562571ff1ea3d7b1944aa2b4e1a91e5a4..524f30640012540be512d138d7bb9de7c4b809e5 100644 (file)
@@ -36,182 +36,188 @@ f_setup_t f_setup;
 bb_map_t *blorb_map;
 
 static struct {
-    int z_num;
-    int width;
-    int height;
-    int orig_width;
-    int orig_height;
-    uint32 type;
+       int z_num;
+       int width;
+       int height;
+       int orig_width;
+       int orig_height;
+       uint32 type;
 } *pict_info;
 static int num_pictures = 0;
 
 
 static int round_div(int x, int y)
 {
-    int quotient = x / y;
-    int dblremain = (x % y) << 1;
+       int quotient = x / y;
+       int dblremain = (x % y) << 1;
 
-    if ((dblremain > y) || ((dblremain == y) && (quotient & 1)))
-       quotient++;
-    return quotient;
+       if ((dblremain > y) || ((dblremain == y) && (quotient & 1)))
+               quotient++;
+       return quotient;
 }
 
 
 bool dumb_init_pictures (void)
 {
-    int maxlegalpic = 0;
-    int i, x_scale, y_scale;
-    bool success = FALSE;
-
-    unsigned char png_magic[8] = {0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A};
-    unsigned char ihdr_name[]  = "IHDR";
-    unsigned char jpg_magic[3] = {0xFF, 0xD8, 0xFF};
-    unsigned char jfif_name[5] = {'J', 'F', 'I', 'F', 0x00};
-
-    bb_result_t res;
-    uint32 pos;
-
-    if (blorb_map == NULL) return FALSE;
-
-    bb_count_resources(blorb_map, bb_ID_Pict, &num_pictures, NULL, &maxlegalpic);
-    pict_info = malloc((num_pictures + 1) * sizeof(*pict_info));
-    pict_info[0].z_num = 0;
-    pict_info[0].height = num_pictures;
-    pict_info[0].width = bb_get_release_num(blorb_map);
-
-    y_scale = 200;
-    x_scale = 320;
-
-    for (i = 1; i <= num_pictures; i++) {
-       if (bb_load_resource(blorb_map, bb_method_Memory, &res, bb_ID_Pict, i) == bb_err_None) {
-           pict_info[i].type = blorb_map->chunks[res.chunknum].type;
-           /* Copy and scale. */
-           pict_info[i].z_num = i;
-           /* Check to see if we're dealing with a PNG file. */
-           if (pict_info[i].type == bb_ID_PNG) {
-               if (memcmp(res.data.ptr, png_magic, 8) == 0) {
-                   /* Check for IHDR chunk.  If it's not there, PNG file is invalid. */
-                   if (memcmp(res.data.ptr+12, ihdr_name, 4) == 0) {
-                       pict_info[i].orig_width =
-                           (*((unsigned char *)res.data.ptr+16) << 24) +
-                           (*((unsigned char *)res.data.ptr+17) << 16) +
-                           (*((unsigned char *)res.data.ptr+18) <<  8) +
-                           (*((unsigned char *)res.data.ptr+19) <<  0);
-                       pict_info[i].orig_height =
-                           (*((unsigned char *)res.data.ptr+20) << 24) +
-                           (*((unsigned char *)res.data.ptr+21) << 16) +
-                           (*((unsigned char *)res.data.ptr+22) <<  8) +
-                           (*((unsigned char *)res.data.ptr+23) <<  0);
-                   }
-               }
-           } else if (pict_info[i].type == bb_ID_Rect) {
-               pict_info[i].orig_width =
-                   (*((unsigned char *)res.data.ptr+0) << 24) +
-                   (*((unsigned char *)res.data.ptr+1) << 16) +
-                   (*((unsigned char *)res.data.ptr+2) <<  8) +
-                   (*((unsigned char *)res.data.ptr+3) <<  0);
-               pict_info[i].orig_height =
-                   (*((unsigned char *)res.data.ptr+4) << 24) +
-                   (*((unsigned char *)res.data.ptr+5) << 16) +
-                   (*((unsigned char *)res.data.ptr+6) <<  8) +
-                   (*((unsigned char *)res.data.ptr+7) <<  0);
-           } else if (pict_info[i].type == bb_ID_JPEG) {
-               if (memcmp(res.data.ptr, jpg_magic, 3) == 0) { /* Is it JPEG? */
-                   if (memcmp(res.data.ptr+6, jfif_name, 5) == 0) { /* Look for JFIF */
-                       pos = 11;
-                       while (pos < res.length) {
-                           pos++;
-                           if (pos >= res.length) break;       /* Avoid segfault */
-                           if (*((unsigned char *)res.data.ptr+pos) != 0xFF) continue;
-                           if (*((unsigned char *)res.data.ptr+pos+1) != 0xC0) continue;
-                           pict_info[i].orig_width =
-                               (*((unsigned char *)res.data.ptr+pos+7)*256) +
-                               *((unsigned char *)res.data.ptr+pos+8);
+       int maxlegalpic = 0;
+       int i, x_scale, y_scale;
+       bool success = FALSE;
+
+       unsigned char png_magic[8]      = {0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A};
+       unsigned char ihdr_name[]       = "IHDR";
+       unsigned char jpg_magic[3]      = {0xFF, 0xD8, 0xFF};
+       unsigned char jfif_name[5]      = {'J', 'F', 'I', 'F', 0x00};
+
+       bb_result_t res;
+       uint32 pos;
+
+       if (blorb_map == NULL) return FALSE;
+
+       bb_count_resources(blorb_map, bb_ID_Pict, &num_pictures, NULL, &maxlegalpic);
+       pict_info = malloc((num_pictures + 1) * sizeof(*pict_info));
+       pict_info[0].z_num = 0;
+       pict_info[0].height = num_pictures;
+       pict_info[0].width = bb_get_release_num(blorb_map);
+
+       y_scale = 200;
+       x_scale = 320;
+
+       for (i = 1; i <= num_pictures; i++) {
+               if (bb_load_resource(blorb_map, bb_method_Memory, &res, bb_ID_Pict, i) == bb_err_None) {
+                       pict_info[i].type = blorb_map->chunks[res.chunknum].type;
+                       /* Copy and scale. */
+                       pict_info[i].z_num = i;
+                       /* Check to see if we're dealing with a PNG file. */
+                       if (pict_info[i].type == bb_ID_PNG) {
+                               if (memcmp(res.data.ptr, png_magic, 8) == 0) {
+                                       /* Check for IHDR chunk.  If it's not there, PNG file is invalid. */
+                                       if (memcmp(res.data.ptr+12, ihdr_name, 4) == 0) {
+                                               pict_info[i].orig_width =
+                                                       (*((unsigned char *)res.data.ptr+16) << 24) +
+                                                       (*((unsigned char *)res.data.ptr+17) << 16) +
+                                                       (*((unsigned char *)res.data.ptr+18) <<  8) +
+                                                       (*((unsigned char *)res.data.ptr+19) <<  0);
+                                               pict_info[i].orig_height =
+                                                       (*((unsigned char *)res.data.ptr+20) << 24) +
+                                                       (*((unsigned char *)res.data.ptr+21) << 16) +
+                                                       (*((unsigned char *)res.data.ptr+22) <<  8) +
+                                                       (*((unsigned char *)res.data.ptr+23) <<  0);
+                                       }
+                               }
+                       } else if (pict_info[i].type == bb_ID_Rect) {
+                               pict_info[i].orig_width =
+                                       (*((unsigned char *)res.data.ptr+0) << 24) +
+                                       (*((unsigned char *)res.data.ptr+1) << 16) +
+                                       (*((unsigned char *)res.data.ptr+2) <<  8) +
+                                       (*((unsigned char *)res.data.ptr+3) <<  0);
                                pict_info[i].orig_height =
-                                   (*((unsigned char *)res.data.ptr+pos+5)*256) +
-                                   *((unsigned char *)res.data.ptr+pos+6);
-                       } /* while */
-                   } /* JFIF */
-               } /* JPEG */
-           }
+                                       (*((unsigned char *)res.data.ptr+4) << 24) +
+                                       (*((unsigned char *)res.data.ptr+5) << 16) +
+                                       (*((unsigned char *)res.data.ptr+6) <<  8) +
+                                       (*((unsigned char *)res.data.ptr+7) <<  0);
+                       } else if (pict_info[i].type == bb_ID_JPEG) {
+                               if (memcmp(res.data.ptr, jpg_magic, 3) == 0) { /* Is it JPEG? */
+                                       if (memcmp(res.data.ptr+6, jfif_name, 5) == 0) { /* Look for JFIF */
+                                               pos = 11;
+                                               while (pos < res.length) {
+                                                       pos++;
+                                                       if (pos >= res.length) break;   /* Avoid segfault */
+                                                       if (*((unsigned char *)res.data.ptr+pos) != 0xFF) continue;
+                                                       if (*((unsigned char *)res.data.ptr+pos+1) != 0xC0) continue;
+                                                       pict_info[i].orig_width =
+                                                               (*((unsigned char *)res.data.ptr+pos+7)*256) +
+                                                               *((unsigned char *)res.data.ptr+pos+8);
+                                                       pict_info[i].orig_height =
+                                                               (*((unsigned char *)res.data.ptr+pos+5)*256) +
+                                                               *((unsigned char *)res.data.ptr+pos+6);
+                                               } /* while */
+                                       } /* JFIF */
+                               } /* JPEG */
+                       } /* if */
+               } /* if */
+
+               pict_info[i].height = round_div(pict_info[i].orig_height * h_screen_rows, y_scale);
+               pict_info[i].width = round_div(pict_info[i].orig_width * h_screen_cols, x_scale);
+
+               /* Don't let dimensions get rounded to nothing. */
+               if (pict_info[i].orig_height && !pict_info[i].height)
+                       pict_info[1].height = 1;
+               if (pict_info[i].orig_width && !pict_info[i].width)
+                       pict_info[i].width = 1;
+
+               success = TRUE;
        } /* for */
 
-       pict_info[i].height = round_div(pict_info[i].orig_height * h_screen_rows, y_scale);
-       pict_info[i].width = round_div(pict_info[i].orig_width * h_screen_cols, x_scale);
+       if (success) h_config |= CONFIG_PICTURES;
+       else h_flags &= ~GRAPHICS_FLAG;
 
-       /* Don't let dimensions get rounded to nothing. */
-       if (pict_info[i].orig_height && !pict_info[i].height)
-           pict_info[1].height = 1;
-       if (pict_info[i].orig_width && !pict_info[i].width)
-           pict_info[i].width = 1;
-
-       success = TRUE;
-    } /* for */
-
-    if (success) h_config |= CONFIG_PICTURES;
-    else h_flags &= ~GRAPHICS_FLAG;
-
-    return success;
+       return success;
 }
 
 
 /* Convert a Z picture number to an index into pict_info.  */
 static int z_num_to_index(int n)
 {
-    int i;
-    for (i = 0; i <= num_pictures; i++)
-       if (pict_info[i].z_num == n)
-           return i;
-    return -1;
+       int i;
+       for (i = 0; i <= num_pictures; i++) {
+               if (pict_info[i].z_num == n)
+                       return i;
+       }
+       return -1;
 }
 
+
 bool os_picture_data(int num, int *height, int *width)
 {
-    int index;
+       int index;
 
-    *height = 0;
-    *width = 0;
+       *height = 0;
+       *width = 0;
 
-    if (!pict_info)
-       return FALSE;
+       if (!pict_info)
+               return FALSE;
 
-    if ((index = z_num_to_index(num)) == -1)
-       return FALSE;
+       if ((index = z_num_to_index(num)) == -1)
+               return FALSE;
 
-    *height = pict_info[index].height;
-    *width = pict_info[index].width;
+       *height = pict_info[index].height;
+       *width = pict_info[index].width;
 
-    return TRUE;
+       return TRUE;
 }
 
+
 void os_draw_picture (int num, int row, int col)
 {
-    int width, height, r, c;
-    if (!os_picture_data(num, &height, &width) || !width || !height)
-       return;
-    col--, row--;
-    /* Draw corners */
-    dumb_set_picture_cell(row, col, '+');
-    dumb_set_picture_cell(row, col + width - 1, '+');
-    dumb_set_picture_cell(row + height - 1, col, '+');
-    dumb_set_picture_cell(row + height - 1, col + width - 1, '+');
-    /* sides */
-    for (c = col + 1; c < col + width - 1; c++) {
-       dumb_set_picture_cell(row, c, '-');
-       dumb_set_picture_cell(row + height - 1, c, '-');
-    }
-    for (r = row + 1; r < row + height - 1; r++) {
-       dumb_set_picture_cell(r, col, '|');
-       dumb_set_picture_cell(r, col + width - 1, '|');
-    }
-    /* body, but for last line */
-    for (r = row + 1; r < row + height - 2; r++)
-       for (c = col + 1; c < col + width - 1; c++)
-           dumb_set_picture_cell(r, c, ':');
-    /* Last line of body, including picture number.  */
-    if (height >= 3)
-       for (c = col + width - 2; c > col; c--, (num /= 10))
-           dumb_set_picture_cell(row + height - 2, c, num ? (num % 10 + '0') : ':');
+       int width, height, r, c;
+       if (!os_picture_data(num, &height, &width) || !width || !height)
+               return;
+       col--, row--;
+       /* Draw corners */
+       dumb_set_picture_cell(row, col, '+');
+       dumb_set_picture_cell(row, col + width - 1, '+');
+       dumb_set_picture_cell(row + height - 1, col, '+');
+       dumb_set_picture_cell(row + height - 1, col + width - 1, '+');
+       /* sides */
+       for (c = col + 1; c < col + width - 1; c++) {
+               dumb_set_picture_cell(row, c, '-');
+               dumb_set_picture_cell(row + height - 1, c, '-');
+       }
+       for (r = row + 1; r < row + height - 1; r++) {
+               dumb_set_picture_cell(r, col, '|');
+               dumb_set_picture_cell(r, col + width - 1, '|');
+       }
+       /* body, but for last line */
+       for (r = row + 1; r < row + height - 2; r++) {
+               for (c = col + 1; c < col + width - 1; c++)
+                       dumb_set_picture_cell(r, c, ':');
+       }
+       /* Last line of body, including picture number.  */
+       if (height >= 3) {
+               for (c = col + width - 2; c > col; c--, (num /= 10))
+                       dumb_set_picture_cell(row + height - 2, c, num ? (num % 10 + '0') : ':');
+       }
 }
 
+
 int os_peek_colour (void) {return BLACK_COLOUR; }