From: <enl...@li...> - 2005-09-27 15:23:45
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet/src/lib Modified Files: Eet.h Log Message: doxygen doc fix. Feel free to add more informations in the @file section =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/eet/src/lib/Eet.h,v retrieving revision 1.24 retrieving revision 1.25 diff -u -3 -r1.24 -r1.25 --- Eet.h 15 Jul 2005 20:37:29 -0000 1.24 +++ Eet.h 27 Sep 2005 15:23:34 -0000 1.25 @@ -22,6 +22,14 @@ extern "C" { #endif +/** + * @file Eet.h + * @brief The file that provides the eet functions. + * + * This header provides the Eet management functions. + * + */ + /***************************************************************************/ #define EET_T_UNKNOW 0 /**< Unknown data encding type */ @@ -62,7 +70,7 @@ /***************************************************************************/ - /* + /** * Initialize the EET library. * * @return The new init count. |
From: <enl...@li...> - 2005-09-27 22:10:14
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet/m4 Added Files: doxygen.m4 Log Message: installation of the doc with the autofoo. gendoc is not used anymore. The documentation is built and installed only if doxygen exists. If it's good, I'll commit the same stuff for the other packages |
From: <enl...@li...> - 2005-09-27 22:10:15
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet/doc Added Files: Doxyfile Makefile.am Log Message: installation of the doc with the autofoo. gendoc is not used anymore. The documentation is built and installed only if doxygen exists. If it's good, I'll commit the same stuff for the other packages |
From: <enl...@li...> - 2005-09-27 22:10:15
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet Modified Files: configure.in Makefile.am eet.c.in Log Message: installation of the doc with the autofoo. gendoc is not used anymore. The documentation is built and installed only if doxygen exists. If it's good, I'll commit the same stuff for the other packages =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/eet/configure.in,v retrieving revision 1.37 retrieving revision 1.38 diff -u -3 -r1.37 -r1.38 --- configure.in 25 Sep 2005 05:45:48 -0000 1.37 +++ configure.in 27 Sep 2005 22:10:08 -0000 1.38 @@ -123,9 +123,14 @@ packagesrcdir=`cd $srcdir && pwd` AC_DEFINE_UNQUOTED(PACKAGE_SOURCE_DIR, "${packagesrcdir}", [Source code directory]) +dnl Documentation +AM_CHECK_DOXYGEN() + AC_OUTPUT([ Makefile eet.pc +eet.c +doc/Makefile src/Makefile src/lib/Makefile src/bin/Makefile @@ -140,3 +145,29 @@ ],[ chmod +x eet-config ]) + + +##################################################################### +## Info + +echo +echo +echo +echo "------------------------------------------------------------------------" +echo "$PACKAGE $VERSION" +echo "------------------------------------------------------------------------" +echo +echo "Configuration Options Summary:" +echo +echo " Build documentation..: $BUILD_DOCS" +echo +echo " Compilation..........: make" +echo +echo " Installation.........: make install" +echo +echo " prefix.........: $prefix" +echo " binaries.......: $bindir" +echo " libraries......: $libdir" +echo " headers........: $includedir" +echo " documentation..: $datadir/$PACKAGE/doc" +echo =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/eet/Makefile.am,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- Makefile.am 4 Mar 2005 12:22:33 -0000 1.20 +++ Makefile.am 27 Sep 2005 22:10:08 -0000 1.21 @@ -1,6 +1,12 @@ ## Process this file with automake to produce Makefile.in -SUBDIRS = src +if BUILD_DOCS +SUBDIRS_DOCS = doc +else +SUBDIRS_DOCS = +endif + +SUBDIRS = src $(SUBDIRS_DOCS) MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess \ config.h.in config.sub configure install-sh \ =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/eet/eet.c.in,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- eet.c.in 15 Apr 2004 07:58:37 -0000 1.8 +++ eet.c.in 27 Sep 2005 22:10:08 -0000 1.9 @@ -9,7 +9,7 @@ @mainpage Eet Library Documentation @image html eet.png -@version 0.9.9 +@version @VERSION@ @author Carsten Haitzler <ra...@ra...> @date 2000-2004 |
From: <enl...@li...> - 2005-09-29 10:15:53
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet Modified Files: Makefile.am Log Message: add clean rules and add files for distribution =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/eet/Makefile.am,v retrieving revision 1.21 retrieving revision 1.22 diff -u -3 -r1.21 -r1.22 --- Makefile.am 27 Sep 2005 22:10:08 -0000 1.21 +++ Makefile.am 29 Sep 2005 10:15:47 -0000 1.22 @@ -12,7 +12,7 @@ config.h.in config.sub configure install-sh \ ltconfig ltmain.sh missing mkinstalldirs \ stamp-h.in build-stamp configure-stamp depcomp \ - eet_docs.tar.gz eet.c \ + eet_docs.tar.gz \ README \ eet.pc \ eet.spec \ @@ -22,8 +22,7 @@ bin_SCRIPTS = eet-config -EXTRA_DIST = AUTHORS COPYING COPYING-PLAIN eet.c.in gendoc \ - Doxyfile \ +EXTRA_DIST = AUTHORS COPYING COPYING-PLAIN eet.c.in \ README.in README \ eet.pc.in \ eet.spec.in eet.spec \ |
From: <enl...@li...> - 2005-09-29 10:15:53
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet/doc Modified Files: Makefile.am Log Message: add clean rules and add files for distribution =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/eet/doc/Makefile.am,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- Makefile.am 29 Sep 2005 07:56:42 -0000 1.2 +++ Makefile.am 29 Sep 2005 10:15:47 -0000 1.3 @@ -8,7 +8,7 @@ # rule to remove all old created files doc-prepare.stamp: - @if test x"html" != x ; then \ + @if test -d html ; then \ rm -rf html/ latex/ man/ xml/; \ fi @@ -17,18 +17,32 @@ @doxygen @cp img/*.png html/ +# rules to clean +clean-local: + @rm -rf html/ latex/ man/ xml/ + +distclean-local: clean + rm -f Makefile.in + # rule to install the documentation in $(docdir) install-data-local: - @if ! test -d "$(DESTDIR)$(datadir)/$(PACKAGE)"; then \ - mkdir "$(DESTDIR)$(datadir)/$(PACKAGE)"; \ + @if ! test -d $(DESTDIR)$(datadir)/$(PACKAGE); then \ + mkdir $(DESTDIR)$(datadir)/$(PACKAGE); \ fi - @if ! test -d "$(DESTDIR)$(docdir)"; then \ - mkdir "$(DESTDIR)$(docdir)"; \ + @if ! test -d $(DESTDIR)$(docdir); then \ + mkdir $(DESTDIR)$(docdir); \ fi - @cp -pr html/ man/ latex/ xml/ "$(DESTDIR)$(docdir)" + @cp -pr html/ man/ latex/ xml/ $(DESTDIR)$(docdir) # rule to uninstall the documentation uninstall-local: - rm -rf $(docdir) + rm -rf $(DESTDIR)$(docdir) + + +MAINTAINERCLEANFILES = Makefile.in eet.c + +DISTCLEANFILES = Makefile.in eet.c + +EXTRA_DIST = Doxyfile eet.css foot.html head.html img/ endif |
From: <enl...@li...> - 2005-09-29 10:20:29
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet/doc Modified Files: Makefile.am Log Message: too many rm =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/eet/doc/Makefile.am,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- Makefile.am 29 Sep 2005 10:15:47 -0000 1.3 +++ Makefile.am 29 Sep 2005 10:20:18 -0000 1.4 @@ -21,9 +21,6 @@ clean-local: @rm -rf html/ latex/ man/ xml/ -distclean-local: clean - rm -f Makefile.in - # rule to install the documentation in $(docdir) install-data-local: @if ! test -d $(DESTDIR)$(datadir)/$(PACKAGE); then \ |
From: Enlightenment C. <no...@cv...> - 2007-01-20 09:20:24
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet/src/lib Modified Files: Eet.h eet_lib.c Log Message: fix compilation with MinGW =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/Eet.h,v retrieving revision 1.37 retrieving revision 1.38 diff -u -3 -r1.37 -r1.38 --- Eet.h 17 Dec 2006 11:00:45 -0000 1.37 +++ Eet.h 20 Jan 2007 15:20:23 -0000 1.38 @@ -6,7 +6,7 @@ #ifdef EAPI #undef EAPI #endif -#ifdef WIN32 +#ifdef _MSC_VER # ifdef BUILDING_DLL # define EAPI __declspec(dllexport) # else =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/eet_lib.c,v retrieving revision 1.73 retrieving revision 1.74 diff -u -3 -r1.73 -r1.74 --- eet_lib.c 28 Dec 2006 15:23:47 -0000 1.73 +++ eet_lib.c 20 Jan 2007 15:20:23 -0000 1.74 @@ -3,7 +3,9 @@ */ #include <sys/types.h> +#ifndef _WIN32 #include <sys/mman.h> +#endif #include "Eet.h" #include "Eet_private.h" @@ -12,6 +14,22 @@ #undef HAVE_REALPATH #endif +#ifdef _WIN32 + +#ifndef F_SETFD +#define F_SETFD 2 +#endif + +#ifndef PROT_READ +#define PROT_READ 1 +#endif + +#ifndef FD_CLOEXEC +#define FD_CLOEXEC 1 +#endif + +#endif + #define EET_MAGIC_FILE 0x1ee7ff00 #define EET_MAGIC_FILE_HEADER 0x1ee7ff01 @@ -471,6 +489,9 @@ { Eet_File *ef; struct stat file_stat; +#ifdef _WIN32 + HANDLE h; +#endif if (!file) return NULL; @@ -558,7 +579,15 @@ if (eet_test_close(!ef->fp, ef)) return NULL; +#ifndef _WIN32 fcntl(fileno(ef->fp), F_SETFD, FD_CLOEXEC); +#else + /* FIXME: check if that code is needed / correct */ + h = (HANDLE) _get_osfhandle (fileno(ef->fp)); + if (h == (HANDLE) -1) + return NULL; + SetHandleInformation (h, HANDLE_FLAG_INHERIT, 0); +#endif /* if we opened for read or read-write */ if ((mode == EET_FILE_MODE_READ) || (mode == EET_FILE_MODE_READ_WRITE)) { @@ -568,10 +597,29 @@ int num_entries; int byte_entries; int i; +#ifdef _WIN32 + HANDLE fm; +#endif + ef->data_size = file_stat.st_size; +#ifndef _WIN32 ef->data = mmap(NULL, ef->data_size, PROT_READ, MAP_SHARED, fileno(ef->fp), 0); +#else + fm = CreateFileMapping((HANDLE) _get_osfhandle (fileno(ef->fp)), + NULL, + PAGE_READONLY, + 0, + 0, + NULL); + ef->data = MapViewOfFile(fm, + FILE_MAP_READ, + 0, + 0, + ef->data_size); + CloseHandle(fm); +#endif if (eet_test_close((ef->data == (void *)-1) || (ef->data == NULL), ef)) return NULL; @@ -825,7 +873,11 @@ } free(ef->header); } +#ifndef _WIN32 if (ef->data) munmap(ef->data, ef->data_size); +#else + if (ef->data) UnmapViewOfFile (ef->data); +#endif if (ef->fp) fclose(ef->fp); /* zero out ram for struct - caution tactic against stale memory use */ |
From: Enlightenment C. <no...@cv...> - 2007-01-20 09:20:54
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet Modified Files: INSTALL configure.in eet-config.in Log Message: fix compilation with MinGW =================================================================== RCS file: /cvs/e/e17/libs/eet/INSTALL,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- INSTALL 2 Dec 2002 23:39:25 -0000 1.2 +++ INSTALL 20 Jan 2007 15:20:23 -0000 1.3 @@ -12,3 +12,8 @@ make install NOTE: You MUST make install Eet for it to run properly. + +NOTE: for compilation with MinGW, fnmatch.h is probably missing. + That file can be found here: +http://www.koders.com/c/fid2B518462CB1EED3D4E31E271DB83CD1582F6EEBE.aspx + It should be installed in the mingw include directory. =================================================================== RCS file: /cvs/e/e17/libs/eet/configure.in,v retrieving revision 1.68 retrieving revision 1.69 diff -u -3 -r1.68 -r1.69 --- configure.in 4 Dec 2006 12:14:17 -0000 1.68 +++ configure.in 20 Jan 2007 15:20:23 -0000 1.69 @@ -21,6 +21,7 @@ AC_CHECK_HEADERS(netinet/in.h) +winsock_libs="" case "$host_os" in mingw|mingw32) winsock_libs="-lwsock32" @@ -29,15 +30,19 @@ AC_SUBST(winsock_libs) -AC_CHECK_HEADER(fnmatch.h,, AC_MSG_ERROR([Cannot find fnmatch.h. Make sure your CFLAGS environment variable contains include lines for the location of this file])) +AC_CHECK_HEADER(fnmatch.h,, AC_MSG_ERROR([Cannot find fnmatch.h. Make sure your CFLAGS environment variable contains include lines for the location of this file. MinGW users: see the INSTALL file])) +fnmatch_libs="" AC_CHECK_FUNCS(fnmatch, res=yes, res=no) if test "x$res" = "xno"; then - AC_CHECK_LIB(fnmatch, fnmatch, res=yes, res=no) + AC_CHECK_LIB(fnmatch, fnmatch, res=yes fnmatch_libs="-lfnmatch", res=no) +dnl Test for compilation with MinGW. +dnl fnmatch function is in the libiberty library if test "x$res" = "xno"; then - AC_MSG_ERROR([Cannot find fnmatch() in neither libc nor libfnmatch]) - else - fnmatch_libs="-lfnmatch" + AC_CHECK_LIB(iberty, fnmatch, res=yes fnmatch_libs="-liberty", res=no) + fi + if test "x$res" = "xno"; then + AC_MSG_ERROR([Cannot find fnmatch() in neither libc nor libfnmatch, nor libiberty]) fi fi =================================================================== RCS file: /cvs/e/e17/libs/eet/eet-config.in,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- eet-config.in 11 Jun 2006 22:37:23 -0000 1.7 +++ eet-config.in 20 Jan 2007 15:20:23 -0000 1.8 @@ -46,7 +46,7 @@ ;; --libs) libdirs=-L@libdir@ - echo $libdirs -leet -lz -ljpeg + echo $libdirs -leet -lz -ljpeg @fnmatch_libs@ @winsock_libs@ ;; *) echo "${usage}" 1>&2 |
From: Enlightenment C. <no...@cv...> - 2007-01-20 09:36:43
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet/src/lib Modified Files: Makefile.am Log Message: and fix the creation of the shared lib with MinGW. =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/Makefile.am,v retrieving revision 1.14 retrieving revision 1.15 diff -u -3 -r1.14 -r1.15 --- Makefile.am 28 Dec 2006 15:23:47 -0000 1.14 +++ Makefile.am 20 Jan 2007 15:36:41 -0000 1.15 @@ -8,7 +8,6 @@ INCLUDES = -I. \ -I$(top_srcdir)/src/lib \ -I$(top_srcdir)/src/lib/include - lib_LTLIBRARIES = libeet.la include_HEADERS = Eet.h @@ -22,4 +21,4 @@ libeet_la_LIBADD = -lz -ljpeg @fnmatch_libs@ @winsock_libs@ libeet_la_DEPENDENCIES = $(top_builddir)/config.h -libeet_la_LDFLAGS = -version-info 9:10:9 +libeet_la_LDFLAGS = @create_shared_lib@ -version-info 9:10:9 |
From: Enlightenment C. <no...@cv...> - 2007-01-20 09:37:12
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet Modified Files: configure.in Log Message: and fix the creation of the shared lib with MinGW. =================================================================== RCS file: /cvs/e/e17/libs/eet/configure.in,v retrieving revision 1.69 retrieving revision 1.70 diff -u -3 -r1.69 -r1.70 --- configure.in 20 Jan 2007 15:20:23 -0000 1.69 +++ configure.in 20 Jan 2007 15:36:41 -0000 1.70 @@ -22,9 +22,11 @@ AC_CHECK_HEADERS(netinet/in.h) winsock_libs="" +create_shared_lib="" case "$host_os" in mingw|mingw32) winsock_libs="-lwsock32" + create_shared_lib="-no-undefined " ;; esac |
From: Enlightenment C. <no...@cv...> - 2007-01-20 10:51:51
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet Modified Files: configure.in Log Message: missing ac_subst =================================================================== RCS file: /cvs/e/e17/libs/eet/configure.in,v retrieving revision 1.70 retrieving revision 1.71 diff -u -3 -r1.70 -r1.71 --- configure.in 20 Jan 2007 15:36:41 -0000 1.70 +++ configure.in 20 Jan 2007 16:51:48 -0000 1.71 @@ -31,6 +31,7 @@ esac AC_SUBST(winsock_libs) +AC_SUBST(create_shared_lib) AC_CHECK_HEADER(fnmatch.h,, AC_MSG_ERROR([Cannot find fnmatch.h. Make sure your CFLAGS environment variable contains include lines for the location of this file. MinGW users: see the INSTALL file])) |
From: Enlightenment C. <no...@cv...> - 2007-09-25 18:26:57
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet/src/lib Modified Files: Eet_private.h Makefile.am eet_data.c eet_lib.c eet_utils.c Log Message: * Add conversion functions to replace the use of snprintf with %a * remove useless defines * minor cleanups fixes bugs #181 and #182 =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/Eet_private.h,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- Eet_private.h 14 Sep 2007 23:38:17 -0000 1.15 +++ Eet_private.h 25 Sep 2007 18:26:49 -0000 1.16 @@ -18,9 +18,9 @@ #include <ctype.h> #ifdef HAVE_NETINET_IN_H -#include <netinet/in.h> -#elif __MINGW32__ -#include <winsock.h> +# include <netinet/in.h> +#elif _WIN32 +# include <winsock2.h> #endif #include <zlib.h> @@ -43,6 +43,8 @@ void _eet_memfile_write_close(FILE *f); void _eet_memfile_shutdown(void); int _eet_hash_gen(const char *key, int hash_size); +int _eet_string_to_double_convert(const char *src, long long *m, long *e); +void _eet_double_to_string_convert(char *des, double d); #ifndef PATH_MAX #define PATH_MAX 4096 =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/Makefile.am,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- Makefile.am 20 Jan 2007 15:36:41 -0000 1.15 +++ Makefile.am 25 Sep 2007 18:26:49 -0000 1.16 @@ -6,8 +6,7 @@ MAINTAINERCLEANFILES = Makefile.in INCLUDES = -I. \ - -I$(top_srcdir)/src/lib \ - -I$(top_srcdir)/src/lib/include + -I$(top_srcdir)/src/lib lib_LTLIBRARIES = libeet.la include_HEADERS = Eet.h @@ -19,6 +18,6 @@ eet_utils.c \ Eet_private.h -libeet_la_LIBADD = -lz -ljpeg @fnmatch_libs@ @winsock_libs@ +libeet_la_LIBADD = -lz -ljpeg @fnmatch_libs@ @winsock_libs@ -lm libeet_la_DEPENDENCIES = $(top_builddir)/config.h libeet_la_LDFLAGS = @create_shared_lib@ -version-info 9:10:9 =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/eet_data.c,v retrieving revision 1.53 retrieving revision 1.54 diff -u -3 -r1.53 -r1.54 --- eet_data.c 14 Sep 2007 23:38:17 -0000 1.53 +++ eet_data.c 25 Sep 2007 18:26:49 -0000 1.54 @@ -1,3 +1,5 @@ +#include <math.h> + #include "Eet.h" #include "Eet_private.h" @@ -358,8 +360,9 @@ eet_data_get_float(void *src, void *src_end, void *dst) { float *d; - float tf; - char *s, *str, *p, *prev_locale; + long long mantisse; + long exponent; + char *s, *str, *p; int len; s = (char *)src; @@ -369,14 +372,10 @@ while ((p < (char *)src_end) && (*p != 0)) {len++; p++;} str = alloca(len + 1); memcpy(str, s, len); - str[len] = 0; + str[len] = '\0'; - prev_locale = setlocale(LC_NUMERIC, "C"); -/* solaris atof is broken and doesnt understand %a format as a float */ -/* *d = (float)atof(str); */ - sscanf(str, "%a", &tf); - *d = (float)tf; - if (prev_locale) setlocale(LC_NUMERIC, prev_locale); + _eet_string_to_double_convert(str, &mantisse, &exponent); + *d = (float)ldexp((double)mantisse, exponent); return len + 1; } @@ -384,19 +383,17 @@ static void * eet_data_put_float(const void *src, int *size_ret) { - float *s; - char *d, buf[64], *prev_locale; - int len; + char buf[64]; + char *d; + int len; - s = (float *)src; - prev_locale = setlocale(LC_NUMERIC, "C"); - snprintf(buf, sizeof(buf), "%a", (double)(*s)); - if (prev_locale) setlocale(LC_NUMERIC, prev_locale); + _eet_double_to_string_convert(buf, (double)(*(float *)src)); len = strlen(buf); d = malloc(len + 1); if (!d) return NULL; strcpy(d, buf); *size_ret = len + 1; + return d; } @@ -404,9 +401,10 @@ static int eet_data_get_double(void *src, void *src_end, void *dst) { - double *d; - float tf; - char *s, *str, *p, *prev_locale; + double *d; + long long mantisse; + long exponent; + char *s, *str, *p; int len; s = (char *)src; @@ -416,14 +414,10 @@ while ((p < (char *)src_end) && (*p != 0)) {len++; p++;} str = alloca(len + 1); memcpy(str, s, len); - str[len] = 0; + str[len] = '\0'; - prev_locale = setlocale(LC_NUMERIC, "C"); -/* solaris atof is broken and doesnt understand %a format as a float */ -/* *d = (double)atof(str); */ - sscanf(str, "%a", &tf); - *d = (double)tf; - if (prev_locale) setlocale(LC_NUMERIC, prev_locale); + _eet_string_to_double_convert(str, &mantisse, &exponent); + *d = ldexp((double)mantisse, exponent); return len + 1; } @@ -431,19 +425,17 @@ static void * eet_data_put_double(const void *src, int *size_ret) { - double *s; - char *d, buf[128], *prev_locale; - int len; + char buf[128]; + char *d; + int len; - s = (double *)src; - prev_locale = setlocale(LC_NUMERIC, "C"); - snprintf(buf, sizeof(buf), "%a", (double)(*s)); - if (prev_locale) setlocale(LC_NUMERIC, prev_locale); + _eet_double_to_string_convert(buf, (double)(*(double *)src)); len = strlen(buf); d = malloc(len + 1); if (!d) return NULL; strcpy(d, buf); *size_ret = len + 1; + return d; } =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/eet_lib.c,v retrieving revision 1.79 retrieving revision 1.80 diff -u -3 -r1.79 -r1.80 --- eet_lib.c 10 Sep 2007 15:26:42 -0000 1.79 +++ eet_lib.c 25 Sep 2007 18:26:49 -0000 1.80 @@ -14,22 +14,6 @@ #undef HAVE_REALPATH #endif -#ifdef _WIN32 - -#ifndef F_SETFD -#define F_SETFD 2 -#endif - -#ifndef PROT_READ -#define PROT_READ 1 -#endif - -#ifndef FD_CLOEXEC -#define FD_CLOEXEC 1 -#endif - -#endif - #define EET_MAGIC_FILE 0x1ee7ff00 #define EET_MAGIC_FILE_HEADER 0x1ee7ff01 @@ -711,10 +695,10 @@ } /* This code is useless if we dont want backward compatibility */ - for (k = name_size; k > 0 && ((uint8_t) * (p + HEADER_SIZE + k)) != 0; --k) + for (k = name_size; k > 0 && ((unsigned char) * (p + HEADER_SIZE + k)) != 0; --k) ; - efn->free_name = ((uint8_t) * (p + HEADER_SIZE + k)) != 0; + efn->free_name = ((unsigned char) * (p + HEADER_SIZE + k)) != 0; if (efn->free_name) { @@ -732,7 +716,7 @@ } else /* The only really usefull peace of code for efn->name (no backward compatibility) */ - efn->name = (char*)((uint8_t*)(p + HEADER_SIZE)); + efn->name = (char*)((unsigned char *)(p + HEADER_SIZE)); /* get hash bucket it should go in */ hash = _eet_hash_gen(efn->name, ef->header->directory->size); =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/eet_utils.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- eet_utils.c 28 Dec 2006 15:23:47 -0000 1.1 +++ eet_utils.c 25 Sep 2007 18:26:49 -0000 1.2 @@ -1,3 +1,6 @@ +#include <stdio.h> +#include <math.h> + int _eet_hash_gen(const char *key, int hash_size) { @@ -33,3 +36,164 @@ return hash_num; } +/* On Windows (using MinGW or VC++), printf-like functions */ +/* rely on MSVCRT, which does not fully support the C99 */ +/* specifications. In particular, they do not support the */ +/* modifier character %a. */ + + +/* That function converts a string created by a valid %a */ +/* modifier to a double. */ +/* */ +/* The string must have the following format: */ +/* */ +/* [-]0xh.hhhhhp[+-]e */ +/* */ +/* where e is a decimal number. */ +/* If n is the number of cyphers after the point, the */ +/* returned mantisse and exponents are */ +/* */ +/* mantisse: [-]hhhhhh */ +/* exponent: 2^([+-]e - 4 * n) */ +int +_eet_string_to_double_convert(const char *src, long long *m, long *e) +{ + const char *str; + double val; + long long mantisse; + long exponent; + int nbr_decimals; + char sign; + + str = src; + sign = +1; + + if (*str == '-') + { + sign = -1; + str++; + } + else if (*str == '0') + { + str++; + if (*str == 'x') + str++; + else + { + fprintf(stderr, "[Eet] Error during conversion\n"); + return 0; + } + } + else + { + fprintf(stderr, "[Eet] Error during conversion\n"); + return 0; + } + + nbr_decimals = 0; + mantisse = (*str >= 'a') ? *str - 'a' + 10 : *str - '0'; + str++; + if (*str == '.') + { + str++; + while (*str != 'p') + { + mantisse <<= 4; + mantisse += (*str >= 'a') ? *str - 'a' + 10 : *str - '0'; + str++; + nbr_decimals++; + } + } + if (sign < 0) + mantisse = -mantisse; + if (*str != 'p') + { + fprintf(stderr, "[Eet] Error during conversion\n"); + return 0; + } + sign = +1; + str++; + if (*str == '-') + { + sign = -1; + str++; + } + else if (*str == '+') str++; + + exponent = 0; + while (*str != '\0') + { + exponent *= 10; + exponent += *str - '0'; + str++; + } + + if (sign < 0) + exponent = -exponent; + + *m = mantisse; + *e = exponent - (nbr_decimals << 2); + + return 1; +} + +/* That function converts a double to a string that as the */ +/* following format: */ +/* */ +/* [-]0xh.hhhhhp[+-]e */ +/* */ +/* where h is a hexadecimal number and e a decimal number. */ +void +_eet_double_to_string_convert(char *des, double d) +{ + static const char look_up_table[] = {'0', '1', '2', '3', '4', + '5', '6', '7', '8', '9', + 'a', 'b', 'c', 'd', 'e', 'f'}; + int p; + int i; + + char *str = des; + + if (d < 0.0) + { + *(des++) = '-'; + d = -d; + } + + d = frexp(d, &p); + + if (p) + { + d *= 2; + p -= 1; + } + + *(des++) = '0'; + *(des++) = 'x'; + *(des++) = look_up_table[(size_t)d]; + *(des++) = '.'; + + for (i = 0; i < 16; i++) + { + d -= floor(d); + d *= 16; + *(des++) = look_up_table[(size_t)d]; + } + + while (*(des - 1) == '0') + des--; + + if (*(des - 1) == '.') + des--; + + *(des++) = 'p'; + if (p < 0) + { + *(des++) = '-'; + p = -p; + } + else + *(des++) = '+'; + + sprintf(des, "%d", p); +} |
From: Enlightenment C. <no...@cv...> - 2007-09-25 18:27:22
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet Modified Files: configure.in eet.pc.in Log Message: * Add conversion functions to replace the use of snprintf with %a * remove useless defines * minor cleanups fixes bugs #181 and #182 =================================================================== RCS file: /cvs/e/e17/libs/eet/configure.in,v retrieving revision 1.77 retrieving revision 1.78 diff -u -3 -r1.77 -r1.78 --- configure.in 8 Sep 2007 09:35:40 -0000 1.77 +++ configure.in 25 Sep 2007 18:26:48 -0000 1.78 @@ -72,28 +72,6 @@ ], AC_MSG_WARN([Cannot check when cross-compiling -- assuming null is okay]) ) -AC_MSG_CHECKING([OS libc C99 '%a' support]) -AC_TRY_RUN([ -#include <stdio.h> -int main(int argc, char **argv) { - char buf[4096]; - float ival = 0.1234, oval = 0.0; - snprintf(buf, sizeof(buf), "%a", (double)ival); - sscanf(buf, "%a", &oval); - if (ival != oval) return -1; - return 0; -} -], AC_MSG_RESULT([yes]), [ - AC_MSG_RESULT([no]) - AC_MSG_ERROR([Unsupported Operating System! -Your OS does not support C99's '%a' string format. Eet cannot function without -it. Please contact your OS vendor to get updates for C99 '%a' floating point -format read/write support or change operating systems for one with support -for an already very old standard. (Linux is known to support this, as is -Solaris 10)]) -], AC_MSG_WARN([Cannot check when cross-compiling -- assuming C99 '%a' support is OK]) -) - if test "x${bindir}" = 'xNONE'; then if test "x${prefix}" = "xNONE"; then PACKAGE_BIN_DIR="${ac_default_prefix}/bin" @@ -115,7 +93,7 @@ PACKAGE_LIB_DIR="${libdir}" fi AC_SUBST(PACKAGE_LIB_DIR) - + if test "x${prefix}" = "xNONE"; then PACKAGE_DATA_DIR="${ac_default_prefix}/share/${PACKAGE}" else @@ -156,9 +134,6 @@ echo echo " Installation.........: make install" echo -echo " prefix.........: $prefix" -echo " binaries.......: $bindir" -echo " libraries......: $libdir" -echo " headers........: $includedir" +echo " prefix.............: $prefix" #echo " documentation..: $datadir/$PACKAGE/doc" echo =================================================================== RCS file: /cvs/e/e17/libs/eet/eet.pc.in,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- eet.pc.in 22 Mar 2007 15:22:32 -0000 1.5 +++ eet.pc.in 25 Sep 2007 18:26:48 -0000 1.6 @@ -7,5 +7,5 @@ Description: Library for speedy data storage, retrieval, and compression Version: @VERSION@ Libs: -L${libdir} -leet -Libs.private: -lz -ljpeg +Libs.private: -lz -ljpeg @fnmatch_libs@ @winsock_libs@ -lm Cflags: -I${includedir} |
From: Enlightenment C. <no...@cv...> - 2007-09-29 09:13:24
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet/src/lib Modified Files: eet_utils.c Log Message: remove unused variables =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/eet_utils.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- eet_utils.c 26 Sep 2007 00:16:31 -0000 1.4 +++ eet_utils.c 29 Sep 2007 09:13:22 -0000 1.5 @@ -59,7 +59,6 @@ _eet_string_to_double_convert(const char *src, long long *m, long *e) { const char *str; - double val; long long mantisse; long exponent; int nbr_decimals; @@ -151,8 +150,6 @@ 'a', 'b', 'c', 'd', 'e', 'f'}; int p; int i; - - char *str = des; if (d < 0.0) { |
From: Enlightenment C. <no...@cv...> - 2007-09-29 09:21:45
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet/src/lib Modified Files: Eet_private.h Log Message: declare properly alloca when AC_FUNC_ALLOCA is used (see autoconf doc) =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/Eet_private.h,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- Eet_private.h 25 Sep 2007 18:26:49 -0000 1.16 +++ Eet_private.h 29 Sep 2007 09:21:43 -0000 1.17 @@ -12,8 +12,21 @@ #include <sys/stat.h> #include <fcntl.h> #include <errno.h> -#if HAVE_ALLOCA_H -#include <alloca.h> +#ifdef HAVE_ALLOCA_H +# include <alloca.h> +#elif defined __GNUC__ +# define alloca __builtin_alloca +#elif defined _AIX +# define alloca __alloca +#elif defined _MSC_VER +# include <malloc.h> +# define alloca _alloca +#else +# include <stddef.h> +# ifdef __cplusplus +extern "C" +# endif +void *alloca (size_t); #endif #include <ctype.h> |
From: Enlightenment C. <no...@cv...> - 2007-10-31 07:14:10
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet/src/lib Modified Files: Eet.h Log Message: typo + removing white spaces =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/Eet.h,v retrieving revision 1.39 retrieving revision 1.40 diff -u -3 -r1.39 -r1.40 --- Eet.h 8 Sep 2007 07:44:03 -0000 1.39 +++ Eet.h 31 Oct 2007 07:13:57 -0000 1.40 @@ -38,7 +38,7 @@ /***************************************************************************/ -#define EET_T_UNKNOW 0 /**< Unknown data encding type */ +#define EET_T_UNKNOW 0 /**< Unknown data encoding type */ #define EET_T_CHAR 1 /**< Data type: char */ #define EET_T_SHORT 2 /**< Data type: short */ #define EET_T_INT 3 /**< Data type: int */ @@ -87,7 +87,7 @@ typedef struct _Eet_Data_Descriptor Eet_Data_Descriptor; typedef struct _Eet_Data_Descriptor_Class Eet_Data_Descriptor_Class; - + #define EET_DATA_DESCRIPTOR_CLASS_VERSION 1 struct _Eet_Data_Descriptor_Class { @@ -108,7 +108,7 @@ void (*hash_free) (void *h); } func; }; - + /***************************************************************************/ /** @@ -707,12 +707,12 @@ EAPI Eet_Data_Descriptor *eet_data_descriptor_new(const char *name, int size, void *(*func_list_next) (void *l), void *(*func_list_append) (void *l, void *d), void *(*func_list_data) (void *l), void *(*func_list_free) (void *l), void (*func_hash_foreach) (void *h, int (*func) (void *h, const char *k, void *dt, void *fdt), void *fdt), void *(*func_hash_add) (void *h, const char *k, void *d), void (*func_hash_free) (void *h)); /* * FIXME: - * + * * moving to this api from the old above. this will break things when the * move happens - but be warned */ EAPI Eet_Data_Descriptor *eet_data_descriptor2_new(Eet_Data_Descriptor_Class *eddc); - + /** * This function frees a data descriptor when it is not needed anymore. * @param edd The data descriptor to free. @@ -789,22 +789,22 @@ * generated. This callback should append to any existing text buffer and * will be passed the pointer @p dumpdata as a parameter as well as a string * with new text to be appended. - * + * * Example: - * + * * @code - * + * * void output(void *data, const char *string) * { * printf("%s", string); * } - * + * * void dump(const char *file) * { * FILE *f; * int len; * void *data; - * + * * f = fopen(file, "r"); * fseek(f, 0, SEEK_END); * len = ftell(f); @@ -815,7 +815,7 @@ * eet_data_text_dump(data, len, output, NULL); * } * @endcode - * + * */ EAPI int eet_data_text_dump(const void *data_in, int size_in, void (*dumpfunc) (void *data, const char *str), void *dumpdata); @@ -830,7 +830,7 @@ * an encoded data lump the same way eet_data_descriptor_encode() takes an * in-memory data struct and encodes into a binary blob. @p text is a normal * C string. - * + * */ EAPI void *eet_data_text_undump(const char *text, int textlen, int *size_ret); |
From: Enlightenment C. <no...@cv...> - 2007-11-04 09:10:52
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet/src/lib Modified Files: Makefile.am Log Message: autostuff improvements: * use non deprecated version of AC_INIT and AM_INIT_AUTOMAKE and check the required minimal versions. * add bzipped distribution archive * add AC_LIBTOOL_WIN32_DLL * forbid libtool to check fortran and c++ compilers * compute libtool versioning from the version of the package * pass the directories based on ${prefix} to the preoprocessor with the -D option * replace INCLUDES, wich is deprecated since 2001 by AM_CPPFLAGS =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/Makefile.am,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- Makefile.am 25 Sep 2007 18:26:49 -0000 1.16 +++ Makefile.am 4 Nov 2007 09:10:50 -0000 1.17 @@ -1,12 +1,12 @@ -## Process this file with automake to produce Makefile.in -AUTOMAKE_OPTIONS = 1.4 foreign - -# A list of all the files in the current directory which can be regenerated MAINTAINERCLEANFILES = Makefile.in -INCLUDES = -I. \ - -I$(top_srcdir)/src/lib +AM_CPPFLAGS = \ +-I. \ +-I$(top_srcdir)/src/lib \ +-DPACKAGE_BIN_DIR=\"$(bindir)\" \ +-DPACKAGE_LIB_DIR=\"$(libdir)\" \ +-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" lib_LTLIBRARIES = libeet.la include_HEADERS = Eet.h @@ -20,4 +20,4 @@ libeet_la_LIBADD = -lz -ljpeg @fnmatch_libs@ @winsock_libs@ -lm libeet_la_DEPENDENCIES = $(top_builddir)/config.h -libeet_la_LDFLAGS = @create_shared_lib@ -version-info 9:10:9 +libeet_la_LDFLAGS = @create_shared_lib@ -version-info @version_info@ |
From: Enlightenment C. <no...@cv...> - 2007-11-04 09:11:22
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet/src/bin Modified Files: Makefile.am Log Message: autostuff improvements: * use non deprecated version of AC_INIT and AM_INIT_AUTOMAKE and check the required minimal versions. * add bzipped distribution archive * add AC_LIBTOOL_WIN32_DLL * forbid libtool to check fortran and c++ compilers * compute libtool versioning from the version of the package * pass the directories based on ${prefix} to the preoprocessor with the -D option * replace INCLUDES, wich is deprecated since 2001 by AM_CPPFLAGS =================================================================== RCS file: /cvs/e/e17/libs/eet/src/bin/Makefile.am,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- Makefile.am 8 Sep 2007 09:35:40 -0000 1.8 +++ Makefile.am 4 Nov 2007 09:10:50 -0000 1.9 @@ -1,9 +1,13 @@ -## Process this file with automake to produce Makefile.in -AM_CFLAGS = \ +MAINTAINERCLEANFILES = Makefile.in + +AM_CPPFLAGS = \ -I$(top_srcdir) \ -I$(top_srcdir)/bin \ --I$(top_srcdir)/src/lib +-I$(top_srcdir)/src/lib \ +-DPACKAGE_BIN_DIR=\"$(bindir)\" \ +-DPACKAGE_LIB_DIR=\"$(libdir)\" \ +-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" bin_PROGRAMS = eet |
From: Enlightenment C. <no...@cv...> - 2007-11-04 09:11:22
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet Modified Files: configure.in Log Message: autostuff improvements: * use non deprecated version of AC_INIT and AM_INIT_AUTOMAKE and check the required minimal versions. * add bzipped distribution archive * add AC_LIBTOOL_WIN32_DLL * forbid libtool to check fortran and c++ compilers * compute libtool versioning from the version of the package * pass the directories based on ${prefix} to the preoprocessor with the -D option * replace INCLUDES, wich is deprecated since 2001 by AM_CPPFLAGS =================================================================== RCS file: /cvs/e/e17/libs/eet/configure.in,v retrieving revision 1.78 retrieving revision 1.79 diff -u -3 -r1.78 -r1.79 --- configure.in 25 Sep 2007 18:26:48 -0000 1.78 +++ configure.in 4 Nov 2007 09:10:49 -0000 1.79 @@ -1,19 +1,33 @@ # get rid of that stupid cache mechanism rm -f config.cache -AC_INIT(configure.in) +AC_INIT(eet, 0.9.10.041, enl...@li...) +AC_PREREQ(2.52) +AC_CONFIG_SRCDIR(configure.in) AC_CANONICAL_BUILD AC_CANONICAL_HOST AC_ISC_POSIX -AM_INIT_AUTOMAKE(eet, 0.9.10.041) + +AM_INIT_AUTOMAKE(1.6 dist-bzip2) AM_CONFIG_HEADER(config.h) AC_PROG_CC AM_PROG_CC_STDC AC_HEADER_STDC AC_C_CONST -AM_ENABLE_SHARED -AM_PROG_LIBTOOL + +AC_LIBTOOL_WIN32_DLL +define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl +define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl +AC_PROG_LIBTOOL + +VMAJ=`echo $PACKAGE_VERSION | awk -F . '{printf("%s", $1);}'` +VMIN=`echo $PACKAGE_VERSION | awk -F . '{printf("%s", $2);}'` +VMIC=`echo $PACKAGE_VERSION | awk -F . '{printf("%s", $3);}'` +SNAP=`echo $PACKAGE_VERSION | awk -F . '{printf("%s", $4);}'` +version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN" +AC_SUBST(version_info) + AC_FUNC_ALLOCA AC_CHECK_HEADER(zlib.h,, AC_MSG_ERROR("Cannot find zlib.h. Make sure your CFLAGS environment variable contains include lines for the location of this file")) @@ -72,35 +86,6 @@ ], AC_MSG_WARN([Cannot check when cross-compiling -- assuming null is okay]) ) -if test "x${bindir}" = 'xNONE'; then - if test "x${prefix}" = "xNONE"; then - PACKAGE_BIN_DIR="${ac_default_prefix}/bin" - else - PACKAGE_BIN_DIR="${prefix}/bin" - fi -else - PACKAGE_BIN_DIR="${bindir}" -fi -AC_SUBST(PACKAGE_BIN_DIR) - -if test "x${libdir}" = 'xNONE'; then - if test "x${prefix}" = "xNONE"; then - PACKAGE_LIB_DIR="${ac_default_prefix}/lib" - else - PACKAGE_LIB_DIR="${prefix}/lib" - fi -else - PACKAGE_LIB_DIR="${libdir}" -fi -AC_SUBST(PACKAGE_LIB_DIR) - -if test "x${prefix}" = "xNONE"; then - PACKAGE_DATA_DIR="${ac_default_prefix}/share/${PACKAGE}" -else - PACKAGE_DATA_DIR="${prefix}/share/${PACKAGE}" -fi -AC_SUBST(PACKAGE_DATA_DIR) - #AM_CHECK_DOXYGEN() AC_OUTPUT([ @@ -128,12 +113,9 @@ echo echo "Configuration Options Summary:" echo -#echo " Build documentation..: $BUILD_DOCS" -#echo echo " Compilation..........: make" echo echo " Installation.........: make install" echo echo " prefix.............: $prefix" -#echo " documentation..: $datadir/$PACKAGE/doc" echo |
From: Enlightenment C. <no...@cv...> - 2008-01-24 08:41:29
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet/src/lib Modified Files: eet_lib.c Log Message: [win32] use the correct value for an invalid handle and check results. Remove trailing spaces =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/eet_lib.c,v retrieving revision 1.84 retrieving revision 1.85 diff -u -3 -r1.84 -r1.85 --- eet_lib.c 21 Jan 2008 01:09:51 -0000 1.84 +++ eet_lib.c 24 Jan 2008 08:41:23 -0000 1.85 @@ -56,7 +56,7 @@ char *name; void *data; Eet_File_Node *next; /* FIXME: make buckets linked lists */ - + int offset; int size; int data_size; @@ -165,7 +165,7 @@ { Eet_File *del_ef = NULL; int i; - + new_cache = *cache; for (i = 0; i < new_cache_num; i++) { @@ -175,7 +175,7 @@ break; } } - + if (del_ef) { del_ef->delete_me_now = 1; @@ -216,7 +216,7 @@ new_cache_alloc = *cache_alloc; if (new_cache_num <= 0) return; - + for (i = 0; i < new_cache_num; i++) { if (new_cache[i] == ef) @@ -322,23 +322,23 @@ { unsigned int ibuf[5]; int name_size; - + name_size = strlen(efn->name) + 1; - + ibuf[0] = (int) htonl ((unsigned int) efn->offset); ibuf[1] = (int) htonl ((unsigned int) efn->compression); ibuf[2] = (int) htonl ((unsigned int) efn->size); ibuf[3] = (int) htonl ((unsigned int) efn->data_size); ibuf[4] = (int) htonl ((unsigned int) name_size); - - + + if (fwrite(ibuf, sizeof(ibuf), 1, ef->fp) != 1) goto write_error; if (fwrite(efn->name, name_size, 1, ef->fp) != 1) goto write_error; } } - + /* write data */ for (i = 0; i < num; i++) { @@ -351,9 +351,9 @@ /* no more writes pending */ ef->writes_pending = 0; - + return EET_ERROR_NONE; - + write_error: switch (ferror(ef->fp)) { @@ -406,7 +406,7 @@ { int num = 0; int i; - + /* We need to compute the list of eet file to close separately from the cache, due to eet_close removing them from the cache after each call. @@ -416,7 +416,7 @@ if (eet_writers[i]->references <= 0) num++; } - + for (i = 0; i < eet_readers_num; i++) { if (eet_readers[i]->references <= 0) @@ -426,7 +426,7 @@ if (num > 0) { Eet_File **closelist = NULL; - + closelist = alloca(num * sizeof(Eet_File *)); num = 0; for (i = 0; i < eet_writers_num; i++) @@ -438,7 +438,7 @@ num++; } } - + for (i = 0; i < eet_readers_num; i++) { if (eet_readers[i]->references <= 0) @@ -669,7 +669,7 @@ } ef = eet_cache_find((char *)file, eet_readers, eet_readers_num); } - else if ((mode == EET_FILE_MODE_WRITE) || + else if ((mode == EET_FILE_MODE_WRITE) || (mode == EET_FILE_MODE_READ_WRITE)) { ef = eet_cache_find((char *)file, eet_readers, eet_readers_num); @@ -706,7 +706,7 @@ unlink(file); fp = fopen(file, "wb"); } - + /* We found one */ if (ef && (file_stat.st_mtime != ef->mtime)) { @@ -749,10 +749,11 @@ fcntl(fileno(ef->fp), F_SETFD, FD_CLOEXEC); #else /* FIXME: check if that code is needed / correct */ - h = (HANDLE) _get_osfhandle (fileno(ef->fp)); - if (h == (HANDLE) -1) + h = (HANDLE) _get_osfhandle(fileno(ef->fp)); + if (h == INVALID_HANDLE_VALUE) + return NULL; + if (!SetHandleInformation(h, HANDLE_FLAG_INHERIT, 0)) return NULL; - SetHandleInformation (h, HANDLE_FLAG_INHERIT, 0); #endif /* if we opened for read or read-write */ if ((mode == EET_FILE_MODE_READ) || (mode == EET_FILE_MODE_READ_WRITE)) @@ -790,11 +791,11 @@ if (ef->mode == EET_FILE_MODE_READ_WRITE) { int i; - + for (i = 0; i < ef->header->directory->size; i++) { Eet_File_Node *efn; - + for (efn = ef->header->directory->nodes[i]; efn; efn = efn->next) { if (!efn->free_name) @@ -850,7 +851,7 @@ /* if not urgent to delete it - dont free it - leave it in cache */ if ((!ef->delete_me_now) && (ef->mode == EET_FILE_MODE_READ)) return EET_ERROR_NONE; - + /* remove from cache */ if (ef->mode == EET_FILE_MODE_READ) eet_cache_del(ef, &eet_readers, &eet_readers_num, &eet_readers_alloc); @@ -865,12 +866,12 @@ if (ef->header->directory->nodes) { int i, num; - + num = (1 << ef->header->directory->size); for (i = 0; i < num; i++) { Eet_File_Node *efn; - + while ((efn = ef->header->directory->nodes[i])) { if (efn->data) @@ -1012,7 +1013,7 @@ const void *data = NULL; int size = 0; Eet_File_Node *efn; - + if (size_ret) *size_ret = 0; @@ -1177,7 +1178,7 @@ Eet_File_Node *pefn; int hash; int exists_already = 0; - + /* check to see its' an eet file pointer */ if (eet_check_pointer(ef)) return 0; @@ -1257,26 +1258,26 @@ { /* add it to our list */ list_count++; - + /* only realloc in 32 entry chunks */ if (list_count > list_count_alloc) { char **new_list = NULL; - + list_count_alloc += 64; new_list = realloc(list_ret, list_count_alloc * (sizeof(char *))); if (!new_list) { free(list_ret); - + if (count_ret) *count_ret = 0; - + return NULL; } list_ret = new_list; } - + /* put pointer of name string in */ list_ret[list_count - 1] = efn->name; } @@ -1344,7 +1345,7 @@ /* seek to data location */ if (fseek(ef->fp, efn->offset, SEEK_SET) < 0) return 0; - + /* read it */ len = fread(buf, len, 1, ef->fp); } |
From: Enlightenment C. <no...@cv...> - 2008-03-02 06:50:20
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet/src/lib Modified Files: Eet.h Eet_private.h Makefile.am eet_data.c eet_image.c eet_lib.c Log Message: use evil on win32: * remove all the specific win32 code * replace EAPI by EAPI_DEF in front of definitions of funtions * no need to check windows.h, winsock2.h * sys/mmap.h will be detected automatically (thanks to evil on win32) * use AC_CHECK_HEADERS instead of AC_CHECK_HEADERS_ONCE as this macro is too recent (from autoconf 2.59c) =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/Eet.h,v retrieving revision 1.45 retrieving revision 1.46 diff -u -3 -r1.45 -r1.46 --- Eet.h 1 Mar 2008 06:38:09 -0000 1.45 +++ Eet.h 2 Mar 2008 06:49:48 -0000 1.46 @@ -6,12 +6,13 @@ #ifdef EAPI #undef EAPI #endif -#ifdef _MSC_VER -# ifdef BUILDING_DLL +#ifdef _WIN32 +# ifdef DLL_EXPORT # define EAPI __declspec(dllexport) # else # define EAPI __declspec(dllimport) # endif +# define EAPI_DEF #else # ifdef __GNUC__ # if __GNUC__ >= 4 @@ -22,6 +23,7 @@ # else # define EAPI # endif +# define EAPI_DEF EAPI #endif #ifdef __cplusplus =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/Eet_private.h,v retrieving revision 1.19 retrieving revision 1.20 diff -u -3 -r1.19 -r1.20 --- Eet_private.h 1 Mar 2008 06:38:09 -0000 1.19 +++ Eet_private.h 2 Mar 2008 06:49:48 -0000 1.20 @@ -33,8 +33,9 @@ #ifdef HAVE_NETINET_IN_H # include <netinet/in.h> #endif -#ifdef HAVE_WINSOCK2_H -# include <winsock2.h> + +#ifdef HAVE_EVIL +# include <Evil.h> #endif #include <zlib.h> =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/Makefile.am,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- Makefile.am 1 Mar 2008 06:38:09 -0000 1.18 +++ Makefile.am 2 Mar 2008 06:49:48 -0000 1.19 @@ -6,7 +6,8 @@ -I$(top_srcdir)/src/lib \ -DPACKAGE_BIN_DIR=\"$(bindir)\" \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ --DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" +-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ +@EVIL_CFLAGS@ lib_LTLIBRARIES = libeet.la include_HEADERS = Eet.h @@ -19,6 +20,6 @@ eet_utils.c \ Eet_private.h -libeet_la_LIBADD = -lz -ljpeg @fnmatch_libs@ @winsock_libs@ -lm +libeet_la_LIBADD = @EVIL_LIBS@ -lz -ljpeg @fnmatch_libs@ @win32_libs@ -lm libeet_la_DEPENDENCIES = $(top_builddir)/config.h libeet_la_LDFLAGS = @create_shared_lib@ -version-info @version_info@ =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/eet_data.c,v retrieving revision 1.63 retrieving revision 1.64 diff -u -3 -r1.63 -r1.64 --- eet_data.c 1 Mar 2008 06:38:09 -0000 1.63 +++ eet_data.c 2 Mar 2008 06:49:48 -0000 1.64 @@ -878,7 +878,7 @@ /*---*/ -EAPI Eet_Data_Descriptor * +EAPI_DEF Eet_Data_Descriptor * eet_data_descriptor_new(const char *name, int size, void *(*func_list_next) (void *l), @@ -914,7 +914,7 @@ } /* new replcement */ -EAPI Eet_Data_Descriptor * +EAPI_DEF Eet_Data_Descriptor * eet_data_descriptor2_new(Eet_Data_Descriptor_Class *eddc) { Eet_Data_Descriptor *edd; @@ -949,7 +949,7 @@ return edd; } -EAPI Eet_Data_Descriptor * +EAPI_DEF Eet_Data_Descriptor * eet_data_descriptor3_new(Eet_Data_Descriptor_Class *eddc) { Eet_Data_Descriptor *edd; @@ -988,7 +988,7 @@ return edd; } -EAPI void +EAPI_DEF void eet_data_descriptor_free(Eet_Data_Descriptor *edd) { _eet_descriptor_hash_free(edd); @@ -996,7 +996,7 @@ free(edd); } -EAPI void +EAPI_DEF void eet_data_descriptor_element_add(Eet_Data_Descriptor *edd, const char *name, int type, int group_type, @@ -1023,7 +1023,7 @@ ede->subtype = subtype; } -EAPI void * +EAPI_DEF void * eet_data_read(Eet_File *ef, Eet_Data_Descriptor *edd, const char *name) { const Eet_Dictionary *ed = NULL; @@ -1049,7 +1049,7 @@ return data_dec; } -EAPI int +EAPI_DEF int eet_data_write(Eet_File *ef, Eet_Data_Descriptor *edd, const char *name, const void *data, int compress) { Eet_Dictionary *ed; @@ -2457,7 +2457,7 @@ return NULL; } -EAPI int +EAPI_DEF int eet_data_text_dump(const void *data_in, int size_in, void (*dumpfunc) (void *data, const char *str), @@ -2469,7 +2469,7 @@ return 0; } -EAPI void * +EAPI_DEF void * eet_data_text_undump(const char *text, int textlen, int *size_ret) @@ -2477,7 +2477,7 @@ return _eet_data_dump_parse(NULL, size_ret, text, textlen); } -EAPI void * +EAPI_DEF void * eet_data_descriptor_decode(Eet_Data_Descriptor *edd, const void *data_in, int size_in) @@ -2617,7 +2617,7 @@ return cdata; } -EAPI void * +EAPI_DEF void * eet_data_descriptor_encode(Eet_Data_Descriptor *edd, const void *data_in, int *size_ret) =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/eet_image.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- eet_image.c 1 Mar 2008 06:38:09 -0000 1.15 +++ eet_image.c 2 Mar 2008 06:49:48 -0000 1.16 @@ -703,7 +703,7 @@ return d; } -EAPI int +EAPI_DEF int eet_data_image_write(Eet_File *ef, const char *name, const void *data, unsigned int w, unsigned int h, int alpha, int compress, int quality, int lossy) @@ -723,7 +723,7 @@ return 0; } -EAPI void * +EAPI_DEF void * eet_data_image_read(Eet_File *ef, const char *name, unsigned int *w, unsigned int *h, int *alpha, int *compress, int *quality, int *lossy) @@ -750,7 +750,7 @@ return d; } -EAPI int +EAPI_DEF int eet_data_image_header_read(Eet_File *ef, const char *name, unsigned int *w, unsigned int *h, int *alpha, int *compress, int *quality, int *lossy) @@ -775,7 +775,7 @@ return d; } -EAPI void * +EAPI_DEF void * eet_data_image_encode(const void *data, int *size_ret, unsigned int w, unsigned int h, int alpha, int compress, int quality, int lossy) { void *d = NULL; @@ -799,7 +799,7 @@ return d; } -EAPI int +EAPI_DEF int eet_data_image_header_decode(const void *data, int size, unsigned int *w, unsigned int *h, int *alpha, int *compress, int *quality, int *lossy) { int header[8]; @@ -883,7 +883,7 @@ return 0; } -EAPI void * +EAPI_DEF void * eet_data_image_decode(const void *data, int size, unsigned int *w, unsigned int *h, int *alpha, int *compress, int *quality, int *lossy) { unsigned int *d = NULL; =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/eet_lib.c,v retrieving revision 1.90 retrieving revision 1.91 diff -u -3 -r1.90 -r1.91 --- eet_lib.c 2 Mar 2008 04:56:57 -0000 1.90 +++ eet_lib.c 2 Mar 2008 06:49:48 -0000 1.91 @@ -6,9 +6,7 @@ #include "Eet_private.h" #include <sys/types.h> -#ifdef HAVE_SYS_MMAN_H -# include <sys/mman.h> -#endif +#include <sys/mman.h> #ifdef HAVE_REALPATH #undef HAVE_REALPATH @@ -601,13 +599,13 @@ return EET_ERROR_WRITE_ERROR; } -EAPI int +EAPI_DEF int eet_init(void) { return ++eet_initcount; } -EAPI int +EAPI_DEF int eet_shutdown(void) { if (--eet_initcount == 0) @@ -619,7 +617,7 @@ return eet_initcount; } -EAPI void +EAPI_DEF void eet_clearcache(void) { int num = 0; @@ -1040,7 +1038,7 @@ return NULL; } -EAPI Eet_File * +EAPI_DEF Eet_File * eet_memopen_read(const void *data, size_t size) { Eet_File *ef; @@ -1067,17 +1065,13 @@ return eet_internal_read(ef); } -EAPI Eet_File * +EAPI_DEF Eet_File * eet_open(const char *file, Eet_File_Mode mode) { FILE *fp; Eet_File *ef; struct stat file_stat; -#ifdef _WIN32 - HANDLE h; -#endif - if (!file) return NULL; @@ -1174,42 +1168,13 @@ if (eet_test_close(!ef->fp, ef)) return NULL; -#ifndef _WIN32 fcntl(fileno(ef->fp), F_SETFD, FD_CLOEXEC); -#else - /* FIXME: check if that code is needed / correct */ - h = (HANDLE) _get_osfhandle(fileno(ef->fp)); - if (h == INVALID_HANDLE_VALUE) - return NULL; - if (!SetHandleInformation(h, HANDLE_FLAG_INHERIT, 0)) - return NULL; -#endif /* if we opened for read or read-write */ if ((mode == EET_FILE_MODE_READ) || (mode == EET_FILE_MODE_READ_WRITE)) { -#ifdef _WIN32 - HANDLE fm; -#endif - - ef->data_size = file_stat.st_size; -#ifndef _WIN32 ef->data = mmap(NULL, ef->data_size, PROT_READ, MAP_SHARED, fileno(ef->fp), 0); -#else - fm = CreateFileMapping((HANDLE) _get_osfhandle (fileno(ef->fp)), - NULL, - PAGE_READONLY, - 0, - 0, - NULL); - ef->data = MapViewOfFile(fm, - FILE_MAP_READ, - 0, - 0, - ef->data_size); - CloseHandle(fm); -#endif ef = eet_internal_read(ef); if (!ef) @@ -1265,7 +1230,7 @@ return ef; } -EAPI Eet_File_Mode +EAPI_DEF Eet_File_Mode eet_mode_get(Eet_File *ef) { /* check to see its' an eet file pointer */ @@ -1275,7 +1240,7 @@ return ef->mode; } -EAPI Eet_Error +EAPI_DEF Eet_Error eet_close(Eet_File *ef) { Eet_Error err; @@ -1336,11 +1301,7 @@ eet_dictionary_free(ef->ed); -#ifndef _WIN32 if (ef->data) munmap((void*)ef->data, ef->data_size); -#else - if (ef->data) UnmapViewOfFile (ef->data); -#endif if (ef->fp) fclose(ef->fp); @@ -1352,7 +1313,7 @@ return err; } -EAPI void * +EAPI_DEF void * eet_read(Eet_File *ef, const char *name, int *size_ret) { void *data = NULL; @@ -1451,7 +1412,7 @@ return data; } -EAPI const void * +EAPI_DEF const void * eet_read_direct(Eet_File *ef, const char *name, int *size_ret) { const void *data = NULL; @@ -1496,7 +1457,7 @@ return data; } -EAPI int +EAPI_DEF int eet_write(Eet_File *ef, const char *name, const void *data, int size, int compress) { Eet_File_Node *efn; @@ -1617,7 +1578,7 @@ return data_size; } -EAPI int +EAPI_DEF int eet_delete(Eet_File *ef, const char *name) { Eet_File_Node *efn; @@ -1671,7 +1632,7 @@ return exists_already; } -EAPI Eet_Dictionary* +EAPI_DEF Eet_Dictionary* eet_dictionary_get(Eet_File *ef) { if (eet_check_pointer(ef)) return NULL; @@ -1680,7 +1641,7 @@ } -EAPI char ** +EAPI_DEF char ** eet_list(Eet_File *ef, const char *glob, int *count_ret) { Eet_File_Node *efn; @@ -1748,7 +1709,7 @@ return list_ret; } -EAPI int +EAPI_DEF int eet_num_entries(Eet_File *ef) { int i, num, ret = 0; |
From: Enlightenment C. <no...@cv...> - 2008-03-02 06:50:20
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet Modified Files: configure.in Log Message: use evil on win32: * remove all the specific win32 code * replace EAPI by EAPI_DEF in front of definitions of funtions * no need to check windows.h, winsock2.h * sys/mmap.h will be detected automatically (thanks to evil on win32) * use AC_CHECK_HEADERS instead of AC_CHECK_HEADERS_ONCE as this macro is too recent (from autoconf 2.59c) =================================================================== RCS file: /cvs/e/e17/libs/eet/configure.in,v retrieving revision 1.84 retrieving revision 1.85 diff -u -3 -r1.84 -r1.85 --- configure.in 26 Jan 2008 05:52:47 -0000 1.84 +++ configure.in 2 Mar 2008 06:49:48 -0000 1.85 @@ -30,22 +30,23 @@ AC_FUNC_ALLOCA -AC_CHECK_HEADER(zlib.h,, AC_MSG_ERROR("Cannot find zlib.h. Make sure your CFLAGS environment variable contains include lines for the location of this file")) -AC_CHECK_HEADER(jpeglib.h,, AC_MSG_ERROR("Cannot find jpeglib.h. Make sure your CFLAGS environment variable contains include lines for the location of this file")) - -AC_CHECK_HEADERS_ONCE(netinet/in.h sys/mman.h windows.h winsock2.h) - -winsock_libs="" +win32_libs="" create_shared_lib="" case "$host_os" in mingw|mingw32) - winsock_libs="-lwsock32" + PKG_CHECK_MODULES([EVIL], [evil]) + AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed]) + win32_libs="-lws2_32" create_shared_lib="-no-undefined " ;; esac - -AC_SUBST(winsock_libs) +AC_SUBST(win32_libs) AC_SUBST(create_shared_lib) + +AC_CHECK_HEADER(zlib.h,, AC_MSG_ERROR("Cannot find zlib.h. Make sure your CFLAGS environment variable contains include lines for the location of this file")) +AC_CHECK_HEADER(jpeglib.h,, AC_MSG_ERROR("Cannot find jpeglib.h. Make sure your CFLAGS environment variable contains include lines for the location of this file")) + +AC_CHECK_HEADERS(netinet/in.h) AC_CHECK_HEADER(fnmatch.h,, AC_MSG_ERROR([Cannot find fnmatch.h. Make sure your CFLAGS environment variable contains include lines for the location of this file. MinGW users: see the INSTALL file])) |
From: Enlightenment C. <no...@cv...> - 2008-03-07 09:59:42
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet/src/lib Modified Files: Eet.h eet_data.c eet_image.c eet_lib.c eet_memfile.c Log Message: * EAPI_DEF is actually useless. go back to EAPI before using the correct way to deal with dllimport / dllexport on Windows * remove some trailing spaces =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/Eet.h,v retrieving revision 1.47 retrieving revision 1.48 diff -u -3 -r1.47 -r1.48 --- Eet.h 6 Mar 2008 17:52:59 -0000 1.47 +++ Eet.h 7 Mar 2008 09:59:37 -0000 1.48 @@ -12,7 +12,6 @@ # else # define EAPI __declspec(dllimport) # endif -# define EAPI_DEF #else # ifdef __GNUC__ # if __GNUC__ >= 4 @@ -23,7 +22,6 @@ # else # define EAPI # endif -# define EAPI_DEF EAPI #endif #ifdef __cplusplus =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/eet_data.c,v retrieving revision 1.65 retrieving revision 1.66 diff -u -3 -r1.65 -r1.66 --- eet_data.c 6 Mar 2008 17:52:59 -0000 1.65 +++ eet_data.c 7 Mar 2008 09:59:37 -0000 1.66 @@ -596,7 +596,7 @@ * * char[4] = "CHnK"; // untyped data ... or * char[4] = "CHKx"; // typed data - x == type - * + * * int = chunk size (including magic string); * char[] = chuck magic/name string (0 byte terminated); * ... sub-chunks (a chunk can contain chuncks recusrively) ... @@ -789,14 +789,14 @@ _eet_descriptor_hash_new(Eet_Data_Descriptor *edd) { int i; - + edd->elements.hash.size = 1 << 6; edd->elements.hash.buckets = calloc(1, sizeof(Eet_Data_Descriptor_Hash) * edd->elements.hash.size); for (i = 0; i < edd->elements.num; i++) { Eet_Data_Element *ede; int hash; - + ede = &(edd->elements.set[i]); hash = _eet_hash_gen((char *) ede->name, 6); if (!edd->elements.hash.buckets[hash].element) @@ -804,7 +804,7 @@ else { Eet_Data_Descriptor_Hash *bucket; - + bucket = calloc(1, sizeof(Eet_Data_Descriptor_Hash)); bucket->element = ede; bucket->next = edd->elements.hash.buckets[hash].next; @@ -817,11 +817,11 @@ _eet_descriptor_hash_free(Eet_Data_Descriptor *edd) { int i; - + for (i = 0; i < edd->elements.hash.size; i++) { Eet_Data_Descriptor_Hash *bucket, *pbucket; - + bucket = edd->elements.hash.buckets[i].next; while (bucket) { @@ -838,7 +838,7 @@ { int hash; Eet_Data_Descriptor_Hash *bucket; - + hash = _eet_hash_gen(name, 6); if (!edd->elements.hash.buckets[hash].element) return NULL; if (!strcmp(edd->elements.hash.buckets[hash].element->name, name)) @@ -878,7 +878,7 @@ /*---*/ -EAPI_DEF Eet_Data_Descriptor * +EAPI Eet_Data_Descriptor * eet_data_descriptor_new(const char *name, int size, void *(*func_list_next) (void *l), @@ -914,7 +914,7 @@ } /* new replcement */ -EAPI_DEF Eet_Data_Descriptor * +EAPI Eet_Data_Descriptor * eet_data_descriptor2_new(Eet_Data_Descriptor_Class *eddc) { Eet_Data_Descriptor *edd; @@ -949,7 +949,7 @@ return edd; } -EAPI_DEF Eet_Data_Descriptor * +EAPI Eet_Data_Descriptor * eet_data_descriptor3_new(Eet_Data_Descriptor_Class *eddc) { Eet_Data_Descriptor *edd; @@ -988,7 +988,7 @@ return edd; } -EAPI_DEF void +EAPI void eet_data_descriptor_free(Eet_Data_Descriptor *edd) { _eet_descriptor_hash_free(edd); @@ -996,8 +996,8 @@ free(edd); } -EAPI_DEF void -eet_data_descriptor_element_add(Eet_Data_Descriptor *edd, +EAPI void +eet_data_descriptor_element_add(Eet_Data_Descriptor *edd, const char *name, int type, int group_type, int offset, @@ -1023,7 +1023,7 @@ ede->subtype = subtype; } -EAPI_DEF void * +EAPI void * eet_data_read(Eet_File *ef, Eet_Data_Descriptor *edd, const char *name) { const Eet_Dictionary *ed = NULL; @@ -1049,7 +1049,7 @@ return data_dec; } -EAPI_DEF int +EAPI int eet_data_write(Eet_File *ef, Eet_Data_Descriptor *edd, const char *name, const void *data, int compress) { Eet_Dictionary *ed; @@ -1267,8 +1267,8 @@ for (strp = str; *strp; strp++) { - if (*strp == '\"') sz += 2; - else if (*strp == '\\') sz += 2; + if (*strp == '\"') sz += 2; + else if (*strp == '\\') sz += 2; else sz += 1; } s = malloc(sz + 1); @@ -1295,7 +1295,7 @@ _eet_data_dump_string_escape(void *dumpdata, void dumpfunc(void *data, const char *str), const char *str) { char *s; - + s = _eet_data_string_escape(str); if (s) { @@ -1312,7 +1312,7 @@ int in_token = 0; int in_quote = 0; int tlen = 0, tsize = 0; - + #define TOK_ADD(x) \ { \ tlen++; \ @@ -1323,7 +1323,7 @@ } \ tok[tlen - 1] = x; \ } - + for (p = src; *len > 0; p++, (*len)--) { if (in_token) @@ -1457,11 +1457,11 @@ void *cdata, *data; int csize, size; Node *n; - + if (words_bigendian == -1) { unsigned long int v; - + v = htonl(0x12345678); if (v == 0x12345678) words_bigendian = 1; else words_bigendian = 0; @@ -1469,7 +1469,7 @@ ds = eet_data_stream_new(); if (!ds) return NULL; - + switch (node->type) { case EET_G_UNKNOWN: @@ -1633,7 +1633,7 @@ default: break; } - + if ((node->type > EET_G_UNKNOWN) && (node->type < EET_G_LAST)) chnk = eet_data_chunk_new(ds->data, ds->pos, node->name, EET_T_UNKNOW, node->type); else @@ -1641,20 +1641,20 @@ ds->data = NULL; ds->size = 0; eet_data_stream_free(ds); - + ds = eet_data_stream_new(); eet_data_chunk_put(ed, chnk, ds); cdata = ds->data; csize = ds->pos; - + ds->data = NULL; ds->size = 0; eet_data_stream_free(ds); *size_ret = csize; - + free(chnk->data); eet_data_chunk_free(chnk); - + return cdata; } @@ -1681,7 +1681,7 @@ for (p = src; p < (src + size);) { char *tok1, *tok2, *tok3, *tok4; - + TOK_GET(tok1); if (tok1) { @@ -1944,7 +1944,7 @@ if (chnk.type == EET_T_UNKNOW) { buf = tbuf; - + for (i = 0; i < level; i++) dumpfunc(dumpdata, " "); dumpfunc(dumpdata, "group \""); _eet_data_dump_string_escape(dumpdata, dumpfunc, chnk.name); @@ -2007,7 +2007,7 @@ { int ret; void *data_ret; - + if (IS_SIMPLE_TYPE(type)) { ret = eet_data_get_type(ed, @@ -2018,7 +2018,7 @@ if (type == EET_T_STRING) { char **str; - + str = (char **)(((char *)data) + ede->offset); if (*str) { @@ -2039,7 +2039,7 @@ if (type == EET_T_INLINED_STRING) { char **str; - + str = (char **)(((char *)data) + ede->offset); if (*str) { @@ -2051,7 +2051,7 @@ else if (ede->subtype) { void **ptr; - + data_ret = _eet_data_descriptor_decode(ed, ede->subtype, echnk.data, @@ -2080,7 +2080,7 @@ void *list = NULL; void **ptr; void *data_ret; - + ptr = (void **)(((char *)data) + ede->offset); list = *ptr; data_ret = NULL; @@ -2125,10 +2125,10 @@ void **ptr; char *key = NULL; void *data_ret = NULL; - + ptr = (void **)(((char *)data) + ede->offset); hash = *ptr; - + /* Read key */ ret = eet_data_get_type(ed, EET_T_STRING, @@ -2136,11 +2136,11 @@ ((char *)echnk.data) + echnk.size, &key); if (ret <= 0) goto error; - + /* Advance to next chunk */ NEXT_CHUNK(p, size, echnk, ed); memset(&echnk, 0, sizeof(Eet_Data_Chunk)); - + /* Read value */ eet_data_chunk_get(ed, &echnk, p, size); if (!echnk.name) goto error; @@ -2193,7 +2193,7 @@ { unsigned char dd[128]; int group_type = EET_G_UNKNOWN, type = EET_T_UNKNOW; - + if ((echnk.type > EET_T_UNKNOW) && (echnk.type < EET_T_LAST)) type = echnk.type; @@ -2204,7 +2204,7 @@ { int ret; void *data_ret; - + if (IS_SIMPLE_TYPE(type)) { ret = eet_data_get_type(ed, @@ -2262,7 +2262,7 @@ case EET_T_STRING: { char *s; - + s = *((char **)dd); if (s) { @@ -2325,7 +2325,7 @@ { int ret; void *data_ret; - + data_ret = NULL; if (IS_SIMPLE_TYPE(type)) { @@ -2354,7 +2354,7 @@ int ret; char *key = NULL; void *data_ret = NULL; - + /* Read key */ ret = eet_data_get_type(ed, EET_T_STRING, @@ -2362,11 +2362,11 @@ ((char *)echnk.data) + echnk.size, &key); if (ret <= 0) goto error; - + /* Advance to next chunk */ NEXT_CHUNK(p, size, echnk, ed); memset(&echnk, 0, sizeof(Eet_Data_Chunk)); - + /* Read value */ eet_data_chunk_get(ed, &echnk, p, size); if (!echnk.name) goto error; @@ -2383,7 +2383,7 @@ else { char *s; - + s = key; if (s) { @@ -2419,7 +2419,7 @@ /* advance to next chunk */ NEXT_CHUNK(p, size, echnk, ed); } - + _eet_freelist_unref(); _eet_freelist_str_unref(); _eet_freelist_list_unref(); @@ -2472,7 +2472,7 @@ return NULL; } -EAPI_DEF int +EAPI int eet_data_text_dump(const void *data_in, int size_in, void (*dumpfunc) (void *data, const char *str), @@ -2484,7 +2484,7 @@ return 0; } -EAPI_DEF void * +EAPI void * eet_data_text_undump(const char *text, int textlen, int *size_ret) @@ -2492,7 +2492,7 @@ return _eet_data_dump_parse(NULL, size_ret, text, textlen); } -EAPI_DEF void * +EAPI void * eet_data_descriptor_decode(Eet_Data_Descriptor *edd, const void *data_in, int size_in) @@ -2632,7 +2632,7 @@ return cdata; } -EAPI_DEF void * +EAPI void * eet_data_descriptor_encode(Eet_Data_Descriptor *edd, const void *data_in, int *size_ret) =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/eet_image.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- eet_image.c 2 Mar 2008 06:49:48 -0000 1.16 +++ eet_image.c 7 Mar 2008 09:59:37 -0000 1.17 @@ -703,7 +703,7 @@ return d; } -EAPI_DEF int +EAPI int eet_data_image_write(Eet_File *ef, const char *name, const void *data, unsigned int w, unsigned int h, int alpha, int compress, int quality, int lossy) @@ -723,7 +723,7 @@ return 0; } -EAPI_DEF void * +EAPI void * eet_data_image_read(Eet_File *ef, const char *name, unsigned int *w, unsigned int *h, int *alpha, int *compress, int *quality, int *lossy) @@ -750,7 +750,7 @@ return d; } -EAPI_DEF int +EAPI int eet_data_image_header_read(Eet_File *ef, const char *name, unsigned int *w, unsigned int *h, int *alpha, int *compress, int *quality, int *lossy) @@ -775,7 +775,7 @@ return d; } -EAPI_DEF void * +EAPI void * eet_data_image_encode(const void *data, int *size_ret, unsigned int w, unsigned int h, int alpha, int compress, int quality, int lossy) { void *d = NULL; @@ -799,7 +799,7 @@ return d; } -EAPI_DEF int +EAPI int eet_data_image_header_decode(const void *data, int size, unsigned int *w, unsigned int *h, int *alpha, int *compress, int *quality, int *lossy) { int header[8]; @@ -883,7 +883,7 @@ return 0; } -EAPI_DEF void * +EAPI void * eet_data_image_decode(const void *data, int size, unsigned int *w, unsigned int *h, int *alpha, int *compress, int *quality, int *lossy) { unsigned int *d = NULL; =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/eet_lib.c,v retrieving revision 1.92 retrieving revision 1.93 diff -u -3 -r1.92 -r1.93 --- eet_lib.c 6 Mar 2008 17:52:59 -0000 1.92 +++ eet_lib.c 7 Mar 2008 09:59:37 -0000 1.93 @@ -599,13 +599,13 @@ return EET_ERROR_WRITE_ERROR; } -EAPI_DEF int +EAPI int eet_init(void) { return ++eet_initcount; } -EAPI_DEF int +EAPI int eet_shutdown(void) { if (--eet_initcount == 0) @@ -617,7 +617,7 @@ return eet_initcount; } -EAPI_DEF void +EAPI void eet_clearcache(void) { int num = 0; @@ -816,7 +816,7 @@ ef->ed->count = num_dictionary_entries; ef->ed->start = start + bytes_dictionary_entries + bytes_directory_entries; ef->ed->end = ef->ed->start; - + for (j = 0; j < ef->ed->count; ++j) { int hash; @@ -1043,7 +1043,7 @@ return NULL; } -EAPI_DEF Eet_File * +EAPI Eet_File * eet_memopen_read(const void *data, size_t size) { Eet_File *ef; @@ -1070,7 +1070,7 @@ return eet_internal_read(ef); } -EAPI_DEF Eet_File * +EAPI Eet_File * eet_open(const char *file, Eet_File_Mode mode) { FILE *fp; @@ -1235,7 +1235,7 @@ return ef; } -EAPI_DEF Eet_File_Mode +EAPI Eet_File_Mode eet_mode_get(Eet_File *ef) { /* check to see its' an eet file pointer */ @@ -1245,7 +1245,7 @@ return ef->mode; } -EAPI_DEF Eet_Error +EAPI Eet_Error eet_close(Eet_File *ef) { Eet_Error err; @@ -1318,7 +1318,7 @@ return err; } -EAPI_DEF void * +EAPI void * eet_read(Eet_File *ef, const char *name, int *size_ret) { void *data = NULL; @@ -1417,7 +1417,7 @@ return data; } -EAPI_DEF const void * +EAPI const void * eet_read_direct(Eet_File *ef, const char *name, int *size_ret) { const void *data = NULL; @@ -1462,7 +1462,7 @@ return data; } -EAPI_DEF int +EAPI int eet_write(Eet_File *ef, const char *name, const void *data, int size, int compress) { Eet_File_Node *efn; @@ -1583,7 +1583,7 @@ return data_size; } -EAPI_DEF int +EAPI int eet_delete(Eet_File *ef, const char *name) { Eet_File_Node *efn; @@ -1637,7 +1637,7 @@ return exists_already; } -EAPI_DEF Eet_Dictionary* +EAPI Eet_Dictionary* eet_dictionary_get(Eet_File *ef) { if (eet_check_pointer(ef)) return NULL; @@ -1646,7 +1646,7 @@ } -EAPI_DEF char ** +EAPI char ** eet_list(Eet_File *ef, const char *glob, int *count_ret) { Eet_File_Node *efn; @@ -1714,7 +1714,7 @@ return list_ret; } -EAPI_DEF int +EAPI int eet_num_entries(Eet_File *ef) { int i, num, ret = 0; =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/eet_memfile.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -3 -r1.14 -r1.15 --- eet_memfile.c 1 Mar 2008 06:38:09 -0000 1.14 +++ eet_memfile.c 7 Mar 2008 09:59:37 -0000 1.15 @@ -58,7 +58,7 @@ for (i = 0; i < _eet_memfile_info_num; i++) free(_eet_memfile_info[i].data); - + free(_eet_memfile_info); _eet_memfile_info = NULL; #endif |
From: Enlightenment C. <no...@cv...> - 2008-03-08 07:28:16
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet/src/lib Modified Files: Eet.h Eet_private.h Makefile.am eet_data.c eet_dictionary.c eet_image.c eet_lib.c eet_memfile.c eet_utils.c Log Message: * define EAPI on Windows according to the following scheme: - if Eet is built: . if the shared lib is built, EAPI must be __declspec(dllexport) . if the static lib is built, EAPI must be empty - otherwise EAPI must be __declspec(dllimport) * move config.h from Eet_private.h to source files so that EAPI is correctly defined in Eet.h * add notes for compilation with cegcc and mingw32ce in INSTALL * add support for compilation with cegcc * add indentation information for vi * remove trailing spaces =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/Eet.h,v retrieving revision 1.48 retrieving revision 1.49 diff -u -3 -r1.48 -r1.49 --- Eet.h 7 Mar 2008 09:59:37 -0000 1.48 +++ Eet.h 8 Mar 2008 07:28:12 -0000 1.49 @@ -4,14 +4,19 @@ #include <stdlib.h> #ifdef EAPI -#undef EAPI +# undef EAPI #endif + #ifdef _WIN32 -# ifdef DLL_EXPORT -# define EAPI __declspec(dllexport) +# ifdef EFL_EET_BUILD +# ifdef DLL_EXPORT +# define EAPI __declspec(dllexport) +# else +# define EAPI +# endif /* ! DLL_EXPORT */ # else # define EAPI __declspec(dllimport) -# endif +# endif /* ! EFL_EET_BUILD */ #else # ifdef __GNUC__ # if __GNUC__ >= 4 @@ -22,7 +27,7 @@ # else # define EAPI # endif -#endif +#endif /* ! _WIN32 */ #ifdef __cplusplus extern "C" { =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/Eet_private.h,v retrieving revision 1.21 retrieving revision 1.22 diff -u -3 -r1.21 -r1.22 --- Eet_private.h 6 Mar 2008 17:52:59 -0000 1.21 +++ Eet_private.h 8 Mar 2008 07:28:12 -0000 1.22 @@ -1,7 +1,9 @@ +/* + * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 + */ + #ifndef _EET_PRIVATE_H #define _EET_PRIVATE_H - -#include <config.h> #include <stdio.h> #include <unistd.h> =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/Makefile.am,v retrieving revision 1.19 retrieving revision 1.20 diff -u -3 -r1.19 -r1.20 --- Makefile.am 2 Mar 2008 06:49:48 -0000 1.19 +++ Makefile.am 8 Mar 2008 07:28:12 -0000 1.20 @@ -7,6 +7,7 @@ -DPACKAGE_BIN_DIR=\"$(bindir)\" \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ +@WIN32_CFLAGS@ \ @EVIL_CFLAGS@ lib_LTLIBRARIES = libeet.la @@ -20,6 +21,6 @@ eet_utils.c \ Eet_private.h -libeet_la_LIBADD = @EVIL_LIBS@ -lz -ljpeg @fnmatch_libs@ @win32_libs@ -lm +libeet_la_LIBADD = @EVIL_LIBS@ @WIN32_LIBS@ -lz -ljpeg @fnmatch_libs@ -lm libeet_la_DEPENDENCIES = $(top_builddir)/config.h libeet_la_LDFLAGS = @create_shared_lib@ -version-info @version_info@ =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/eet_data.c,v retrieving revision 1.66 retrieving revision 1.67 diff -u -3 -r1.66 -r1.67 --- eet_data.c 7 Mar 2008 09:59:37 -0000 1.66 +++ eet_data.c 8 Mar 2008 07:28:12 -0000 1.67 @@ -1,4 +1,12 @@ +/* + * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 + */ + #include <math.h> + +#ifdef HAVE_CONFIG_H +# include <config.h> /* so that EAPI in Eet.h is correctly defined */ +#endif #include "Eet.h" #include "Eet_private.h" =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/eet_dictionary.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- eet_dictionary.c 6 Mar 2008 17:52:59 -0000 1.2 +++ eet_dictionary.c 8 Mar 2008 07:28:12 -0000 1.3 @@ -1,4 +1,12 @@ +/* + * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 + */ + #include <math.h> + +#ifdef HAVE_CONFIG_H +# include <config.h> /* so that EAPI in Eet.h is correctly defined */ +#endif #include "Eet.h" #include "Eet_private.h" =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/eet_image.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- eet_image.c 7 Mar 2008 09:59:37 -0000 1.17 +++ eet_image.c 8 Mar 2008 07:28:12 -0000 1.18 @@ -1,3 +1,11 @@ +/* + * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 + */ + +#ifdef HAVE_CONFIG_H +# include <config.h> /* so that EAPI in Eet.h is correctly defined */ +#endif + #include "Eet.h" #include "Eet_private.h" =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/eet_lib.c,v retrieving revision 1.93 retrieving revision 1.94 diff -u -3 -r1.93 -r1.94 --- eet_lib.c 7 Mar 2008 09:59:37 -0000 1.93 +++ eet_lib.c 8 Mar 2008 07:28:12 -0000 1.94 @@ -2,6 +2,10 @@ * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 */ +#ifdef HAVE_CONFIG_H +# include <config.h> /* so that EAPI in Eet.h is correctly defined */ +#endif + #include "Eet.h" #include "Eet_private.h" =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/eet_memfile.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- eet_memfile.c 7 Mar 2008 09:59:37 -0000 1.15 +++ eet_memfile.c 8 Mar 2008 07:28:12 -0000 1.16 @@ -1,4 +1,12 @@ +/* + * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 + */ + #define _GNU_SOURCE + +#ifdef HAVE_CONFIG_H +# include <config.h> /* so that EAPI in Eet.h is correctly defined */ +#endif #include "Eet.h" #include "Eet_private.h" =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/eet_utils.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- eet_utils.c 2 Oct 2007 22:53:00 -0000 1.6 +++ eet_utils.c 8 Mar 2008 07:28:12 -0000 1.7 @@ -1,3 +1,7 @@ +/* + * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 + */ + #include <stdio.h> #include <math.h> @@ -7,7 +11,7 @@ int hash_num = 0; int value, i; unsigned char *ptr; - + const int masks[9] = { 0x00, @@ -20,10 +24,10 @@ 0x7f, 0xff }; - + /* no string - index 0 */ if (!key) return 0; - + /* calc hash num */ for (i = 0, ptr = (unsigned char *)key, value = (int)(*ptr); value; |