mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-06-19 12:28:30 +02:00
cairo-script: Error if asked to decompress with missing compression lib
This quells the following warning: warning: enumeration value ‘LZO’ not handled in switch [-Wswitch-enum] The LZO enum value is defined and used elsewhere, even if lzo support isn't available. This situation might arise if cairo scripts were generated on one system with lzo, and then replayed on a system without it. For now simply error out if this occurs. Signed-off-by: Bryce Harrington <b.harrington@samsung.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
parent
1ce452db4c
commit
18d66c88a2
2 changed files with 12 additions and 12 deletions
|
|
@ -176,21 +176,21 @@ csi_file_new_from_string (csi_t *ctx,
|
|||
status = _csi_error (CAIRO_STATUS_NO_MEMORY);
|
||||
break;
|
||||
|
||||
#if HAVE_ZLIB
|
||||
case ZLIB:
|
||||
#if HAVE_ZLIB
|
||||
if (uncompress ((Bytef *) tmp_str->string, &len,
|
||||
(Bytef *) src->string, src->len) != Z_OK)
|
||||
#endif
|
||||
status = _csi_error (CAIRO_STATUS_NO_MEMORY);
|
||||
break;
|
||||
#endif
|
||||
#if HAVE_LZO
|
||||
case LZO:
|
||||
#if HAVE_LZO
|
||||
if (lzo2a_decompress ((lzo_bytep) src->string, src->len,
|
||||
(lzo_bytep) tmp_str->string, &len,
|
||||
NULL))
|
||||
#endif
|
||||
status = _csi_error (CAIRO_STATUS_NO_MEMORY);
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
if (_csi_unlikely (status)) {
|
||||
csi_string_free (ctx, tmp_str);
|
||||
|
|
|
|||
|
|
@ -1769,28 +1769,28 @@ inflate_string (csi_t *ctx, csi_string_t *src)
|
|||
free (bytes);
|
||||
return NULL;
|
||||
|
||||
#if HAVE_ZLIB
|
||||
case ZLIB:
|
||||
#if HAVE_ZLIB
|
||||
if (uncompress ((Bytef *) bytes, &len,
|
||||
(Bytef *) src->string, src->len) != Z_OK)
|
||||
#endif
|
||||
{
|
||||
_csi_free (ctx, bytes);
|
||||
return NULL;
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if HAVE_LZO
|
||||
case LZO:
|
||||
#if HAVE_LZO
|
||||
if (lzo2a_decompress ((Bytef *) src->string, src->len,
|
||||
(Bytef *) bytes, &len,
|
||||
NULL))
|
||||
#endif
|
||||
{
|
||||
_csi_free (ctx, bytes);
|
||||
return NULL;
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
|
||||
bytes[len] = '\0';
|
||||
|
|
@ -2970,22 +2970,22 @@ err_decompress:
|
|||
cairo_surface_destroy (image);
|
||||
return _csi_error (CSI_STATUS_READ_ERROR);
|
||||
|
||||
#if HAVE_ZLIB
|
||||
case ZLIB:
|
||||
#if HAVE_ZLIB
|
||||
if (uncompress ((Bytef *) data, &out,
|
||||
(Bytef *) s->string, s->len) != Z_OK)
|
||||
#endif
|
||||
goto err_decompress;
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if HAVE_LZO
|
||||
case LZO:
|
||||
#if HAVE_LZO
|
||||
if (lzo2a_decompress ((Bytef *) s->string, s->len,
|
||||
(Bytef *) data, &out,
|
||||
NULL))
|
||||
#endif
|
||||
goto err_decompress;
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue