pajoye Mon Mar 16 15:02:45 2009 UTC Modified files: /php-src/ext/fileinfo CREDITS config.w32 /php-src/ext/fileinfo/libmagic cdf.c cdf.h cdf_time.c file.h readcdf.c Log: - fix the build for win (vc6 or vc9) - fix logic in time convertion - force shared on windows, will fix the dirent issue later (no, it is not enough to simply remove the dep or header include) - add myself before I forget again http://cvs.php.net/viewvc.cgi/php-src/ext/fileinfo/CREDITS?r1=1.3&r2=1.4&diff_format=u Index: php-src/ext/fileinfo/CREDITS diff -u php-src/ext/fileinfo/CREDITS:1.3 php-src/ext/fileinfo/CREDITS:1.4 --- php-src/ext/fileinfo/CREDITS:1.3 Thu Dec 4 14:53:51 2008 +++ php-src/ext/fileinfo/CREDITS Mon Mar 16 15:02:44 2009 @@ -1,2 +1,2 @@ fileinfo -Ilia Alshanetsky, Scott MacVicar, Derick Rethans +Ilia Alshanetsky, Pierre Alain Joye, Scott MacVicar, Derick Rethans http://cvs.php.net/viewvc.cgi/php-src/ext/fileinfo/config.w32?r1=1.5&r2=1.6&diff_format=u Index: php-src/ext/fileinfo/config.w32 diff -u php-src/ext/fileinfo/config.w32:1.5 php-src/ext/fileinfo/config.w32:1.6 --- php-src/ext/fileinfo/config.w32:1.5 Sun Mar 15 23:02:32 2009 +++ php-src/ext/fileinfo/config.w32 Mon Mar 16 15:02:44 2009 @@ -1,10 +1,11 @@ -// $Id: config.w32,v 1.5 2009/03/15 23:02:32 scottmac Exp $ +// $Id: config.w32,v 1.6 2009/03/16 15:02:44 pajoye Exp $ // vim:ft=javascript ARG_ENABLE("fileinfo", "fileinfo support", "no"); if (PHP_FILEINFO != 'no') { - + if (CHECK_HEADER_ADD_INCLUDE("dirent.h", "CFLAGS_FILEINFO") && + CHECK_LIB("dirent_a.lib", "fileinfo", PHP_FILEINFO)) { LIBMAGIC_SOURCES=" apprentice.c apptype.c ascmagic.c \ cdf.c cdf_time.c compress.c \ encoding.c fsmagic.c funcs.c \ @@ -15,6 +16,10 @@ ADD_FLAG('CFLAGS', '/Zm1000'); } - EXTENSION('fileinfo', 'fileinfo.c', null, "/I" + configure_module_dirname + "/libmagic /I" + configure_module_dirname); + EXTENSION('fileinfo', 'fileinfo.c', true, "/I" + configure_module_dirname + "/libmagic /I" + configure_module_dirname); ADD_SOURCES(configure_module_dirname + '\\libmagic', LIBMAGIC_SOURCES, "fileinfo"); + } else { + WARNING("fileinfo not enabled; libraries and headers not found"); + PHP_FILEINFO = "no"; + } } http://cvs.php.net/viewvc.cgi/php-src/ext/fileinfo/libmagic/cdf.c?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/fileinfo/libmagic/cdf.c diff -u php-src/ext/fileinfo/libmagic/cdf.c:1.2 php-src/ext/fileinfo/libmagic/cdf.c:1.3 --- php-src/ext/fileinfo/libmagic/cdf.c:1.2 Mon Mar 16 12:52:59 2009 +++ php-src/ext/fileinfo/libmagic/cdf.c Mon Mar 16 15:02:44 2009 @@ -1001,7 +1001,11 @@ break; case CDF_FILETIME: tp = info[i].pi_tp; +#if defined(PHP_WIN32 ) && _MSC_VER <= 1500 + if (tp < 1000000000000000i64) { +#else if (tp < 1000000000000000LL) { +#endif cdf_print_elapsed_time(buf, sizeof(buf), tp); printf("timestamp %s\n", buf); } else { http://cvs.php.net/viewvc.cgi/php-src/ext/fileinfo/libmagic/cdf.h?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/fileinfo/libmagic/cdf.h diff -u php-src/ext/fileinfo/libmagic/cdf.h:1.1 php-src/ext/fileinfo/libmagic/cdf.h:1.2 --- php-src/ext/fileinfo/libmagic/cdf.h:1.1 Sun Mar 15 23:02:34 2009 +++ php-src/ext/fileinfo/libmagic/cdf.h Mon Mar 16 15:02:44 2009 @@ -42,7 +42,11 @@ typedef struct { uint64_t h_magic; -#define CDF_MAGIC 0xE11AB1A1E011CFD0LL +#if defined(PHP_WIN32 ) && _MSC_VER <= 1500 +# define CDF_MAGIC 0xE11AB1A1E011CFD0i64 +#else +# define CDF_MAGIC 0xE11AB1A1E011CFD0LL +#endif uint64_t h_uuid[2]; uint16_t h_revision; uint16_t h_version; http://cvs.php.net/viewvc.cgi/php-src/ext/fileinfo/libmagic/cdf_time.c?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/fileinfo/libmagic/cdf_time.c diff -u php-src/ext/fileinfo/libmagic/cdf_time.c:1.1 php-src/ext/fileinfo/libmagic/cdf_time.c:1.2 --- php-src/ext/fileinfo/libmagic/cdf_time.c:1.1 Sun Mar 15 23:02:34 2009 +++ php-src/ext/fileinfo/libmagic/cdf_time.c Mon Mar 16 15:02:44 2009 @@ -104,8 +104,8 @@ #endif int rdays; - /* Unit is 100,000's of microseconds */ - ts->tv_usec = (t % CDF_TIME_PREC) * 100000; + /* Time interval, in microseconds */ + ts->tv_usec = (t % CDF_TIME_PREC) * CDF_TIME_PREC; t /= CDF_TIME_PREC; tm.tm_sec = t % 60; @@ -153,7 +153,7 @@ errno = EINVAL; return -1; } - *t = (ts->ts_usec / 100000) * CDF_TIME_PREC; + *t = (ts->ts_usec / CDF_TIME_PREC) * CDF_TIME_PREC; *t = tm.tm_sec; *t += tm.tm_min * 60; *t += tm.tm_hour * 60 * 60; http://cvs.php.net/viewvc.cgi/php-src/ext/fileinfo/libmagic/file.h?r1=1.8&r2=1.9&diff_format=u Index: php-src/ext/fileinfo/libmagic/file.h diff -u php-src/ext/fileinfo/libmagic/file.h:1.8 php-src/ext/fileinfo/libmagic/file.h:1.9 --- php-src/ext/fileinfo/libmagic/file.h:1.8 Sun Mar 15 23:02:34 2009 +++ php-src/ext/fileinfo/libmagic/file.h Mon Mar 16 15:02:44 2009 @@ -403,10 +403,10 @@ #define strtoul(a, b, c) strtol(a, b, c) #endif -#ifndef HAVE_STRLCPY +#ifndef strlcpy size_t strlcpy(char *dst, const char *src, size_t siz); #endif -#ifndef HAVE_STRLCAT +#ifndef strlcat size_t strlcat(char *dst, const char *src, size_t siz); #endif http://cvs.php.net/viewvc.cgi/php-src/ext/fileinfo/libmagic/readcdf.c?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/fileinfo/libmagic/readcdf.c diff -u php-src/ext/fileinfo/libmagic/readcdf.c:1.1 php-src/ext/fileinfo/libmagic/readcdf.c:1.2 --- php-src/ext/fileinfo/libmagic/readcdf.c:1.1 Sun Mar 15 23:02:35 2009 +++ php-src/ext/fileinfo/libmagic/readcdf.c Mon Mar 16 15:02:44 2009 @@ -96,7 +96,11 @@ case CDF_FILETIME: tp = info[i].pi_tp; if (tp != 0) { +#if defined(PHP_WIN32 ) && _MSC_VER <= 1500 + if (tp < 1000000000000000i64) { +#else if (tp < 1000000000000000LL) { +#endif char tbuf[64]; cdf_print_elapsed_time(tbuf, sizeof(tbuf), tp);
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php