This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch master
in repository legacy-imlib2.
View the commit online.
commit ed89effcf35ee311cc44d32110a3878dcd0f696f
Author: Kim Woelders <[email protected]>
AuthorDate: Mon Sep 26 14:56:10 2022 +0200
api: error_return adjustments
- Drop imlib_load_image_fde()
- Remove error_return from imlib_load_image_mem()
It is becoming somewhat messy having functions with and without error
returns, so drop error returns in API functions added since v1.9.1.
Use imlib_get_error() to get the error instead.
---
src/bin/imlib2_load.c | 23 ++++++++++++++---------
src/lib/Imlib2.h.in | 29 +----------------------------
src/lib/api.c | 13 ++-----------
test/test_load.cpp | 11 +++++++----
4 files changed, 24 insertions(+), 52 deletions(-)
diff --git a/src/bin/imlib2_load.c b/src/bin/imlib2_load.c
index 38b0d99..91f1284 100644
--- a/src/bin/imlib2_load.c
+++ b/src/bin/imlib2_load.c
@@ -85,7 +85,13 @@ image_load_fd(const char *file, int *perr)
ext = file;
fd = open(file, O_RDONLY);
- im = imlib_load_image_fde(ext, perr, fd);
+ if (fd < 0)
+ {
+ *perr = errno;
+ return NULL;
+ }
+
+ im = imlib_load_image_fd(fd, ext);
return im;
}
@@ -122,7 +128,7 @@ image_load_mem(const char *file, int *perr)
if (fdata == MAP_FAILED)
goto bail;
- im = imlib_load_image_mem(ext, &err, fdata, st.st_size);
+ im = imlib_load_image_mem(ext, fdata, st.st_size);
quit:
if (fdata != MAP_FAILED)
@@ -234,12 +240,12 @@ main(int argc, char **argv)
for (cnt = 0; cnt < load_cnt; cnt++)
{
- err = -1000;
+ err = 0;
switch (load_mode)
{
case LOAD_IMMED:
- im = imlib_load_image_with_errno_return(argv[0], &err);
+ im = imlib_load_image_immediately(argv[0]);
break;
case LOAD_FROM_FD:
im = image_load_fd(argv[0], &err);
@@ -262,11 +268,10 @@ main(int argc, char **argv)
if (!im)
{
- if (err > -1000)
- fprintf(fout, "*** Error %d:'%s' loading image: '%s'\n",
- err, imlib_strerror(err), argv[0]);
- else
- fprintf(fout, "*** Failed to load image: '%s'\n", argv[0]);
+ if (err == 0)
+ err = imlib_get_error();
+ fprintf(fout, "*** Error %d:'%s' loading image: '%s'\n",
+ err, imlib_strerror(err), argv[0]);
if (break_on_error & 2)
goto quit;
diff --git a/src/lib/Imlib2.h.in b/src/lib/Imlib2.h.in
index 5445c0e..00f56ef 100644
--- a/src/lib/Imlib2.h.in
+++ b/src/lib/Imlib2.h.in
@@ -829,26 +829,6 @@ EAPI Imlib_Image imlib_load_image_with_errno_return(const char *file,
*/
EAPI Imlib_Image imlib_load_image_fd(int fd, const char *file);
-/**
- * Read an image from file descriptor with error return
- *
- * Same as imlib_load_image_fd() but with error return.
- *
- * On error @p error_return is set to the detail of the error.
- * error values:
- * 0: Success,
- * positive: Regular errnos,
- * negative: IMLIB_ERR_... values, see above
- *
- * @param file File name
- * @param error_return The returned error
- * @param fd Image file descriptor
- *
- * @return Image handle (NULL on failure)
- */
-EAPI Imlib_Image imlib_load_image_fde(const char *file, int *error_return,
- int fd);
-
/**
* Read an image from memory
*
@@ -856,20 +836,13 @@ EAPI Imlib_Image imlib_load_image_fde(const char *file, int *error_return,
* The image is loaded without deferred image data decoding and without
* looking in the cache.
*
- * On error @p error_return is set to the detail of the error.
- * error values:
- * 0: Success,
- * positive: Regular errnos,
- * negative: IMLIB_ERR_... values, see above
- *
* @param file File name
- * @param error_return The returned error
* @param data Image data
* @param size Image data size
*
* @return Image handle (NULL on failure)
*/
-EAPI Imlib_Image imlib_load_image_mem(const char *file, int *error_return,
+EAPI Imlib_Image imlib_load_image_mem(const char *file,
const void *data, size_t size);
/**
diff --git a/src/lib/api.c b/src/lib/api.c
index 4607b5e..fa67dde 100644
--- a/src/lib/api.c
+++ b/src/lib/api.c
@@ -598,7 +598,7 @@ imlib_load_image_with_errno_return(const char *file, int *error_return)
}
EAPI Imlib_Image
-imlib_load_image_fde(const char *file, int *err, int fd)
+imlib_load_image_fd(int fd, const char *file)
{
Imlib_Image im;
ImlibLoadArgs ila = { ILA0(ctx, 1, 1) };
@@ -619,20 +619,11 @@ imlib_load_image_fde(const char *file, int *err, int fd)
close(fd);
}
- if (err)
- *err = ctx->error;
-
return im;
}
EAPI Imlib_Image
-imlib_load_image_fd(int fd, const char *file)
-{
- return imlib_load_image_fde(file, NULL, fd);
-}
-
-EAPI Imlib_Image
-imlib_load_image_mem(const char *file, int *err, const void *data, size_t size)
+imlib_load_image_mem(const char *file, const void *data, size_t size)
{
Imlib_Image im;
ImlibLoadArgs ila = { ILA0(ctx, 1, 1) };
diff --git a/test/test_load.cpp b/test/test_load.cpp
index 8f7b6c0..67e1a88 100644
--- a/test/test_load.cpp
+++ b/test/test_load.cpp
@@ -194,11 +194,12 @@ test_load(void)
fd = open(fileo, O_RDONLY);
D("Load fd %d '%s'\n", fd, fileo);
snprintf(fileo, sizeof(fileo), ".%s", pfxs[i]);
- im = imlib_load_image_fde(pfxs[i], &err, fd);
+ im = imlib_load_image_fd(fd, pfxs[i]);
+ err = imlib_get_error();
EXPECT_TRUE(im);
+ EXPECT_EQ(err, 0);
if (im)
image_free(im);
- EXPECT_EQ(err, 0);
err = close(fd);
EXPECT_NE(err, 0);
@@ -220,8 +221,10 @@ test_load(void)
{
D("Load mem[%d] %d '%s'\n", n, fd, fileo);
snprintf(fileo, sizeof(fileo), ".%s", pfxs[i]);
- im = imlib_load_image_mem(pfxs[i], &err, fdata, st.st_size);
- EXPECT_TRUE(im) << "Load mem: " << fileo;
+ im = imlib_load_image_mem(pfxs[i], fdata, st.st_size);
+ err = imlib_get_error();
+ EXPECT_TRUE(im);
+ EXPECT_EQ(err, 0);
if (im)
image_free(im);
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.