You roast 'em, we'll smoke 'em. This patch DOES successfully eliminate porting issues to Solaris/Sparc. Here's a screenshot taken on my Ultra2 featuring Eprog's Iconbar (which relies on EET) on DR16.5. You'll notice also in the shot that I'm using mplayer, gkrellm, and some DT tools as well... shot was taken with scrot. Porting to Solaris is so going very very well. http://www.cuddletech.com/eet-on-solaris2.png
benr. > Enlightenment CVS committal > > Author : raster > Project : e17 > Module : libs/eet > > Dir : e17/libs/eet/src/lib > > > Modified Files: > Makefile.am eet_data.c eet_lib.c > Added Files: > Eet_private.h eet_memfile.c > > > Log Message: > > > memfile abstraction for the solaris/bsd weenies :) :) :) > > =================================================================== RCS > file: /cvsroot/enlightenment/e17/libs/eet/src/lib/Makefile.am,v > retrieving revision 1.2 > retrieving revision 1.3 > diff -u -3 -r1.2 -r1.3 > --- Makefile.am 2 Dec 2002 23:39:26 -0000 1.2 > +++ Makefile.am 3 Feb 2003 01:07:58 -0000 1.3 > @@ -13,7 +13,9 @@ > include_HEADERS = Eet.h > libeet_la_SOURCES = \ > eet_lib.c \ > -eet_data.c > +eet_data.c \ > +eet_memfile.c \ > +Eet_private.h > > libeet_la_LIBADD = $(LDFLAGS) -lz -ljpeg > libeet_la_DEPENDENCIES = $(top_builddir)/config.h > =================================================================== RCS > file: /cvsroot/enlightenment/e17/libs/eet/src/lib/eet_data.c,v > retrieving revision 1.4 > retrieving revision 1.5 > diff -u -3 -r1.4 -r1.5 > --- eet_data.c 13 Jan 2003 06:40:49 -0000 1.4 > +++ eet_data.c 3 Feb 2003 01:07:58 -0000 1.5 > @@ -1,21 +1,5 @@ > #include "Eet.h" > -#define _GNU_SOURCE /* need this for fmemopen & open_memstream */ > -#include <stdio.h> > -#include <unistd.h> > -#include <limits.h> > -#include <stdlib.h> > -#include <time.h> > -#include <sys/types.h> > -#include <fcntl.h> > -#include <netinet/in.h> > -#include <zlib.h> > -#include <string.h> > -#include <fnmatch.h> > -#include <jpeglib.h> > -#include <setjmp.h> > -#include <zlib.h> > -#include <locale.h> > - > +#include "Eet_private.h" > > /* > * rotuines for doing data -> struct and struct -> data conversion > @@ -252,7 +236,7 @@ > int x, y, l, i, scans, count, prevy; > FILE *f; > > - f = fmemopen(data, (size_t)size, "r"); > + f = _eet_memfile_read_open(data, (size_t)size); > if (!f) return NULL; > cinfo.err = jpeg_std_error(&(jerr.pub)); > jerr.pub.error_exit = _JPEGFatalErrorHandler; > @@ -261,7 +245,7 @@ > if (setjmp(jerr.setjmp_buffer)) > { > jpeg_destroy_decompress(&cinfo); > - fclose(f); > + _eet_memfile_read_close(f); > return NULL; > } > jpeg_create_decompress(&cinfo); > @@ -279,14 +263,14 @@ > if (cinfo.rec_outbuf_height > 16) > { > jpeg_destroy_decompress(&cinfo); > - fclose(f); > + _eet_memfile_read_close(f); > return NULL; > } > tdata = malloc((*w) * 16 * 3); > if (!tdata) > { > jpeg_destroy_decompress(&cinfo); > - fclose(f); > + _eet_memfile_read_close(f); > return NULL; > } > d = malloc((*w) * (*h) * 4); > @@ -294,7 +278,7 @@ > { > free(tdata); > jpeg_destroy_decompress(&cinfo); > - fclose(f); > + _eet_memfile_read_close(f); > return NULL; > } > ptr2 = d; > @@ -345,7 +329,7 @@ > } > } > free(tdata); > - fclose(f); > + _eet_memfile_read_close(f); > /* end data decoding */ > jpeg_finish_decompress(&cinfo); > jpeg_destroy_decompress(&cinfo); > @@ -362,7 +346,7 @@ > int x, y, l, i, scans, count, prevy; > FILE *f; > > - f = fmemopen(data, (size_t)size, "r"); > + f = _eet_memfile_read_open(data, (size_t)size); > if (!f) return NULL; > cinfo.err = jpeg_std_error(&(jerr.pub)); > jerr.pub.error_exit = _JPEGFatalErrorHandler; > @@ -371,7 +355,7 @@ > if (setjmp(jerr.setjmp_buffer)) > { > jpeg_destroy_decompress(&cinfo); > - fclose(f); > + _eet_memfile_read_close(f); > return NULL; > } > jpeg_create_decompress(&cinfo); > @@ -385,13 +369,13 @@ > if ((*w) != cinfo.output_width) > { > jpeg_destroy_decompress(&cinfo); > - fclose(f); > + _eet_memfile_read_close(f); > return NULL; > } > if ((*h) != cinfo.output_height) > { > jpeg_destroy_decompress(&cinfo); > - fclose(f); > + _eet_memfile_read_close(f); > return NULL; > } > *w = cinfo.output_width; > @@ -401,14 +385,14 @@ > if (cinfo.rec_outbuf_height > 16) > { > jpeg_destroy_decompress(&cinfo); > - fclose(f); > + _eet_memfile_read_close(f); > return NULL; > } > tdata = malloc((*w) * 16 * 3); > if (!tdata) > { > jpeg_destroy_decompress(&cinfo); > - fclose(f); > + _eet_memfile_read_close(f); > return NULL; > } > ptr2 = d; > @@ -461,7 +445,7 @@ > } > } > free(tdata); > - fclose(f); > + _eet_memfile_read_close(f); > /* end data decoding */ > jpeg_finish_decompress(&cinfo); > jpeg_destroy_decompress(&cinfo); > @@ -567,7 +551,7 @@ > eet_data_image_jpeg_convert(int *size, void *data, int w, int h, int > alpha, int quality) { > int *ptr; > - char *d = NULL; > + void *d = NULL; > size_t sz = 0; > struct _JPEG_error_mgr jerr; > JSAMPROW *jbuf; > @@ -575,13 +559,13 @@ > FILE *f; > unsigned char *buf; > > - f = open_memstream(&d, &sz); > + f =_eet_memfile_write_open(&d, &sz); > if (!f) return NULL; > > buf = malloc(3 * w); > if (!buf) > { > - fclose(f); > + _eet_memfile_write_close(f); > if (d) free(d); > return NULL; > } > @@ -594,7 +578,7 @@ > { > jpeg_destroy_compress(&cinfo); > if (buf) free(buf); > - fclose(f); > + _eet_memfile_write_close(f); > if (d) free(d); > return NULL; > } > @@ -630,7 +614,7 @@ > > *size = sz; > if (buf) free(buf); > - fclose(f); > + _eet_memfile_write_close(f); > return d; > } > > @@ -653,7 +637,7 @@ > > { > int *ptr; > - char *d = NULL; > + void *d = NULL; > size_t sz = 0; > struct _JPEG_error_mgr jerr; > JSAMPROW *jbuf; > @@ -661,13 +645,13 @@ > FILE *f; > unsigned char *buf; > > - f = open_memstream(&d, &sz); > + f = _eet_memfile_write_open(&d, &sz); > if (!f) return NULL; > > buf = malloc(3 * w); > if (!buf) > { > - fclose(f); > + _eet_memfile_write_close(f); > if (d) free(d); > return NULL; > } > @@ -680,7 +664,7 @@ > { > jpeg_destroy_compress(&cinfo); > if (buf) free(buf); > - fclose(f); > + _eet_memfile_write_close(f); > if (d) free(d); > return NULL; > } > @@ -715,13 +699,13 @@ > jpeg_destroy_compress(&cinfo); > > if (buf) free(buf); > - fclose(f); > + _eet_memfile_write_close(f); > d1 = d; > sz1 = sz; > } > { > int *ptr; > - char *d = NULL; > + void *d = NULL; > size_t sz = 0; > struct _JPEG_error_mgr jerr; > JSAMPROW *jbuf; > @@ -729,7 +713,7 @@ > FILE *f; > unsigned char *buf; > > - f = open_memstream(&d, &sz); > + f = _eet_memfile_write_open(&d, &sz); > if (!f) > { > free(d1); > @@ -739,7 +723,7 @@ > buf = malloc(3 * w); > if (!buf) > { > - fclose(f); > + _eet_memfile_write_close(f); > if (d) free(d); > free(d1); > return NULL; > @@ -753,7 +737,7 @@ > { > jpeg_destroy_compress(&cinfo); > if (buf) free(buf); > - fclose(f); > + _eet_memfile_write_close(f); > if (d) free(d); > free(d1); > return NULL; > @@ -787,7 +771,7 @@ > jpeg_destroy_compress(&cinfo); > > if (buf) free(buf); > - fclose(f); > + _eet_memfile_write_close(f); > d2 = d; > sz2 = sz; > } > =================================================================== RCS > file: /cvsroot/enlightenment/e17/libs/eet/src/lib/eet_lib.c,v > retrieving revision 1.5 > retrieving revision 1.6 > diff -u -3 -r1.5 -r1.6 > --- eet_lib.c 13 Jan 2003 06:22:02 -0000 1.5 > +++ eet_lib.c 3 Feb 2003 01:07:58 -0000 1.6 > @@ -1,15 +1,5 @@ > #include "Eet.h" > -#include <stdio.h> > -#include <unistd.h> > -#include <limits.h> > -#include <stdlib.h> > -#include <time.h> > -#include <sys/types.h> > -#include <fcntl.h> > -#include <netinet/in.h> > -#include <zlib.h> > -#include <string.h> > -#include <fnmatch.h> > +#include "Eet_private.h" > > #define EET_MAGIC_FILE 0x1ee7ff00 > #define EET_MAGIC_FILE_HEADER 0x1ee7ff01 > > > > > ------------------------------------------------------- > This SF.NET email is sponsored by: > SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! > http://www.vasoftware.com > _______________________________________________ > enlightenment-cvs mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs -- //Ben Rockwood - UNIX Systems Admin //email: [EMAIL PROTECTED] //web: www.cuddletech.com //-> We do what we can, We give what we have, //-> Our doubt is our passion, and our passion is our task, //-> The rest is the madness of Art. //-> -Henry James ------------------------------------------------------- This SF.NET email is sponsored by: SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! http://www.vasoftware.com _______________________________________________ enlightenment-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel