*/
+#define IMAGER_NO_CONTEXT
#include "imageri.h"
/*
*/
int
-im_set_image_file_limits(im_context_t ctx, i_img_dim width, i_img_dim height, size_t bytes) {
+im_set_image_file_limits(pIMCTX, i_img_dim width, i_img_dim height, size_t bytes) {
i_clear_error();
if (width < 0) {
return 0;
}
- ctx->max_width = width;
- ctx->max_height = height;
- ctx->max_bytes = bytes ? bytes : DEF_BYTES_LIMIT;
+ aIMCTX->max_width = width;
+ aIMCTX->max_height = height;
+ aIMCTX->max_bytes = bytes ? bytes : DEF_BYTES_LIMIT;
return 1;
}
*/
int
-im_get_image_file_limits(im_context_t ctx, i_img_dim *width, i_img_dim *height, size_t *bytes) {
- im_clear_error(ctx);
+im_get_image_file_limits(pIMCTX, i_img_dim *width, i_img_dim *height, size_t *bytes) {
+ im_clear_error(aIMCTX);
- *width = ctx->max_width;
- *height = ctx->max_height;
- *bytes = ctx->max_bytes;
+ *width = aIMCTX->max_width;
+ *height = aIMCTX->max_height;
+ *bytes = aIMCTX->max_bytes;
return 1;
}
*/
int
-im_int_check_image_file_limits(im_context_t ctx, i_img_dim width, i_img_dim height, int channels, size_t sample_size) {
+im_int_check_image_file_limits(pIMCTX, i_img_dim width, i_img_dim height, int channels, size_t sample_size) {
size_t bytes;
- im_clear_error(ctx);
+ im_clear_error(aIMCTX);
if (width <= 0) {
- im_push_errorf(ctx, 0, "file size limit - image width of %" i_DF " is not positive",
+ im_push_errorf(aIMCTX, 0, "file size limit - image width of %" i_DF " is not positive",
i_DFc(width));
return 0;
}
- if (ctx->max_width && width > ctx->max_width) {
- im_push_errorf(ctx, 0, "file size limit - image width of %" i_DF " exceeds limit of %" i_DF,
- i_DFc(width), i_DFc(ctx->max_width));
+ if (aIMCTX->max_width && width > aIMCTX->max_width) {
+ im_push_errorf(aIMCTX, 0, "file size limit - image width of %" i_DF " exceeds limit of %" i_DF,
+ i_DFc(width), i_DFc(aIMCTX->max_width));
return 0;
}
if (height <= 0) {
- im_push_errorf(ctx, 0, "file size limit - image height of %" i_DF " is not positive",
+ im_push_errorf(aIMCTX, 0, "file size limit - image height of %" i_DF " is not positive",
i_DFc(height));
return 0;
}
- if (ctx->max_height && height > ctx->max_height) {
- im_push_errorf(ctx, 0, "file size limit - image height of %" i_DF
- " exceeds limit of %" i_DF, i_DFc(height), i_DFc(ctx->max_height));
+ if (aIMCTX->max_height && height > aIMCTX->max_height) {
+ im_push_errorf(aIMCTX, 0, "file size limit - image height of %" i_DF
+ " exceeds limit of %" i_DF, i_DFc(height), i_DFc(aIMCTX->max_height));
return 0;
}
if (channels < 1 || channels > MAXCHANNELS) {
- im_push_errorf(ctx, 0, "file size limit - channels %d out of range",
+ im_push_errorf(aIMCTX, 0, "file size limit - channels %d out of range",
channels);
return 0;
}
if (sample_size < 1 || sample_size > sizeof(long double)) {
- im_push_errorf(ctx, 0, "file size limit - sample_size %ld out of range",
+ im_push_errorf(aIMCTX, 0, "file size limit - sample_size %ld out of range",
(long)sample_size);
return 0;
}
bytes = width * height * channels * sample_size;
if (bytes / width != height * channels * sample_size
|| bytes / height != width * channels * sample_size) {
- i_push_error(0, "file size limit - integer overflow calculating storage");
+ im_push_error(aIMCTX, 0, "file size limit - integer overflow calculating storage");
return 0;
}
- if (ctx->max_bytes) {
- if (bytes > ctx->max_bytes) {
- im_push_errorf(ctx, 0, "file size limit - storage size of %lu "
+ if (aIMCTX->max_bytes) {
+ if (bytes > aIMCTX->max_bytes) {
+ im_push_errorf(aIMCTX, 0, "file size limit - storage size of %lu "
"exceeds limit of %lu", (unsigned long)bytes,
- (unsigned long)ctx->max_bytes);
+ (unsigned long)aIMCTX->max_bytes);
return 0;
}
}