Commit 88ccdb4e authored by Jehan's avatar Jehan
Browse files

plug-ins: minor cleaning and fixes.

- Add some parentheses to sizeof (*pointer). Maybe it's just me, but it
  is just a bit clearer to me.
- Free in_raw when out_raw allocation failed.
- Use strrchr() instead of strchr() to get the extension (I had a case
  when testing where the file was inside a folder named similarly with a
  ".hgt" and it would break the comparison test).
- Do a case-insensitive comparison. Even though the original files from
  NASA use lowercase, just to be sure.
parent c572bdf6
......@@ -368,11 +368,12 @@ run (const gchar *name,
gimp_get_data (LOAD_PROC, runtime);
preview_fd = g_open (param[1].data.d_string, O_RDONLY, 0);
if (g_strcmp0 (strchr (param[1].data.d_string, '.'), ".hgt") == 0)
if (strrchr (param[1].data.d_string, '.') &&
g_ascii_strcasecmp (strrchr (param[1].data.d_string, '.'), ".hgt") == 0)
{
runtime->image_width = 1201;
runtime->image_height = 1201;
runtime->image_type = RAW_GRAY_16BPP_SBE;
runtime->image_width = 1201;
runtime->image_height = 1201;
runtime->image_type = RAW_GRAY_16BPP_SBE;
}
if (preview_fd < 0)
......@@ -652,18 +653,21 @@ raw_load_gray16 (RawGimpData *data,
gsize i;
in_size = runtime->image_width * runtime->image_height;
out_size = runtime->image_width * runtime->image_height * 3 * sizeof * out_raw;
out_size = runtime->image_width * runtime->image_height * 3 * sizeof (*out_raw);
in_raw = g_try_malloc (in_size * sizeof * in_raw);
in_raw = g_try_malloc (in_size * sizeof (*in_raw));
if (! in_raw)
return FALSE;
out_raw = g_try_malloc0 (out_size);
if (! out_raw)
return FALSE;
{
g_free (in_raw);
return FALSE;
}
raw_read_row (data->fp, (guchar*)in_raw, runtime->file_offset,
in_size * sizeof * in_raw);
raw_read_row (data->fp, (guchar*) in_raw, runtime->file_offset,
in_size * sizeof (*in_raw));
for (i = 0; i < in_size; i++)
{
......@@ -675,7 +679,7 @@ raw_load_gray16 (RawGimpData *data,
pixel_val = GUINT16_FROM_LE (in_raw[i]);
else if (type == RAW_GRAY_16BPP_SBE)
pixel_val = GINT16_FROM_BE (in_raw[i]) - G_MININT16;
else/* if (type == RAW_GRAY_16BPP_SLE)*/
else /* if (type == RAW_GRAY_16BPP_SLE)*/
pixel_val = GINT16_FROM_LE (in_raw[i]) - G_MININT16;
out_raw[3 * i + 0] = pixel_val;
......@@ -1626,7 +1630,7 @@ preview_update (GimpPreviewArea *preview)
pixel_val = GUINT16_FROM_LE (r_row[j]);
else if (runtime->image_type == RAW_GRAY_16BPP_SBE)
pixel_val = GINT16_FROM_BE (r_row[j]) - G_MININT16;
else/* if (runtime->image_type == RAW_GRAY_16BPP_SLE)*/
else /* if (runtime->image_type == RAW_GRAY_16BPP_SLE)*/
pixel_val = GINT16_FROM_LE (r_row[j]) - G_MININT16;
row[j] = pixel_val / 257;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment