diff options
| author | Juanma Barranquero | 2005-06-23 07:48:13 +0000 |
|---|---|---|
| committer | Juanma Barranquero | 2005-06-23 07:48:13 +0000 |
| commit | 9a22a004b31ed864fb21e27ca780f009cc2ea820 (patch) | |
| tree | 32a430283d24aec29d3d4985497521ebf77801d2 /src/image.c | |
| parent | 9713650936e5bf274ae56415c2d4dd23f7f4d35a (diff) | |
| download | emacs-9a22a004b31ed864fb21e27ca780f009cc2ea820.tar.gz emacs-9a22a004b31ed864fb21e27ca780f009cc2ea820.zip | |
(fn_png_init_io): Don't define it.
(init_png_functions) [HAVE_NTGUI]: Don't initialize fn_png_init_io.
(png_read_from_file): New function, based on png_read_from_memory.
(png_load): Use it, instead of fn_png_init_io.
Diffstat (limited to 'src/image.c')
| -rw-r--r-- | src/image.c | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/src/image.c b/src/image.c index 462294b33b4..b2d0cf4ff50 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -5631,7 +5631,6 @@ DEF_IMGLIB_FN (png_create_read_struct); | |||
| 5631 | DEF_IMGLIB_FN (png_create_info_struct); | 5631 | DEF_IMGLIB_FN (png_create_info_struct); |
| 5632 | DEF_IMGLIB_FN (png_destroy_read_struct); | 5632 | DEF_IMGLIB_FN (png_destroy_read_struct); |
| 5633 | DEF_IMGLIB_FN (png_set_read_fn); | 5633 | DEF_IMGLIB_FN (png_set_read_fn); |
| 5634 | DEF_IMGLIB_FN (png_init_io); | ||
| 5635 | DEF_IMGLIB_FN (png_set_sig_bytes); | 5634 | DEF_IMGLIB_FN (png_set_sig_bytes); |
| 5636 | DEF_IMGLIB_FN (png_read_info); | 5635 | DEF_IMGLIB_FN (png_read_info); |
| 5637 | DEF_IMGLIB_FN (png_get_IHDR); | 5636 | DEF_IMGLIB_FN (png_get_IHDR); |
| @@ -5663,7 +5662,6 @@ init_png_functions (Lisp_Object libraries) | |||
| 5663 | LOAD_IMGLIB_FN (library, png_create_info_struct); | 5662 | LOAD_IMGLIB_FN (library, png_create_info_struct); |
| 5664 | LOAD_IMGLIB_FN (library, png_destroy_read_struct); | 5663 | LOAD_IMGLIB_FN (library, png_destroy_read_struct); |
| 5665 | LOAD_IMGLIB_FN (library, png_set_read_fn); | 5664 | LOAD_IMGLIB_FN (library, png_set_read_fn); |
| 5666 | LOAD_IMGLIB_FN (library, png_init_io); | ||
| 5667 | LOAD_IMGLIB_FN (library, png_set_sig_bytes); | 5665 | LOAD_IMGLIB_FN (library, png_set_sig_bytes); |
| 5668 | LOAD_IMGLIB_FN (library, png_read_info); | 5666 | LOAD_IMGLIB_FN (library, png_read_info); |
| 5669 | LOAD_IMGLIB_FN (library, png_get_IHDR); | 5667 | LOAD_IMGLIB_FN (library, png_get_IHDR); |
| @@ -5689,7 +5687,6 @@ init_png_functions (Lisp_Object libraries) | |||
| 5689 | #define fn_png_create_info_struct png_create_info_struct | 5687 | #define fn_png_create_info_struct png_create_info_struct |
| 5690 | #define fn_png_destroy_read_struct png_destroy_read_struct | 5688 | #define fn_png_destroy_read_struct png_destroy_read_struct |
| 5691 | #define fn_png_set_read_fn png_set_read_fn | 5689 | #define fn_png_set_read_fn png_set_read_fn |
| 5692 | #define fn_png_init_io png_init_io | ||
| 5693 | #define fn_png_set_sig_bytes png_set_sig_bytes | 5690 | #define fn_png_set_sig_bytes png_set_sig_bytes |
| 5694 | #define fn_png_read_info png_read_info | 5691 | #define fn_png_read_info png_read_info |
| 5695 | #define fn_png_get_IHDR png_get_IHDR | 5692 | #define fn_png_get_IHDR png_get_IHDR |
| @@ -5762,6 +5759,23 @@ png_read_from_memory (png_ptr, data, length) | |||
| 5762 | } | 5759 | } |
| 5763 | 5760 | ||
| 5764 | 5761 | ||
| 5762 | /* Function set as reader function when reading PNG image from a file. | ||
| 5763 | PNG_PTR is a pointer to the PNG control structure. Copy LENGTH | ||
| 5764 | bytes from the input to DATA. */ | ||
| 5765 | |||
| 5766 | static void | ||
| 5767 | png_read_from_file (png_ptr, data, length) | ||
| 5768 | png_structp png_ptr; | ||
| 5769 | png_bytep data; | ||
| 5770 | png_size_t length; | ||
| 5771 | { | ||
| 5772 | FILE *fp = (FILE *) fn_png_get_io_ptr (png_ptr); | ||
| 5773 | |||
| 5774 | if (fread (data, 1, length, fp) < length) | ||
| 5775 | fn_png_error (png_ptr, "Read error"); | ||
| 5776 | } | ||
| 5777 | |||
| 5778 | |||
| 5765 | /* Load PNG image IMG for use on frame F. Value is non-zero if | 5779 | /* Load PNG image IMG for use on frame F. Value is non-zero if |
| 5766 | successful. */ | 5780 | successful. */ |
| 5767 | 5781 | ||
| @@ -5895,7 +5909,7 @@ png_load (f, img) | |||
| 5895 | if (!NILP (specified_data)) | 5909 | if (!NILP (specified_data)) |
| 5896 | fn_png_set_read_fn (png_ptr, (void *) &tbr, png_read_from_memory); | 5910 | fn_png_set_read_fn (png_ptr, (void *) &tbr, png_read_from_memory); |
| 5897 | else | 5911 | else |
| 5898 | fn_png_init_io (png_ptr, fp); | 5912 | fn_png_set_read_fn (png_ptr, (void *) fp, png_read_from_file); |
| 5899 | 5913 | ||
| 5900 | fn_png_set_sig_bytes (png_ptr, sizeof sig); | 5914 | fn_png_set_sig_bytes (png_ptr, sizeof sig); |
| 5901 | fn_png_read_info (png_ptr, info_ptr); | 5915 | fn_png_read_info (png_ptr, info_ptr); |