Browse Source
Merge branch 'sccp' into dce
Merge branch 'sccp' into dce
* sccp: Bump OCI8 version for recent patch WS Fix test title Ensure that the stream position is kept between reads Turn off EXIF_DEBUG so Travis don't complain at me Don't add a new line to undefined tags in EXIF_DEBUG mode Fix compile error with EXIF_DEBUG update NEWS disable --with-pcre-valgrind on travis fix default args for --with-pcre-valgrind Enable valgrind support for PCRE by default in debug builds add oniguruma.patch to ease future upgrades SIZEOF_SIZE_T doesn't exist on AIX and POWER8 (ppc64le), keep using SIZEOF_LONGpull/2630/head
11 changed files with 155 additions and 18 deletions
-
5.gitignore
-
2NEWS
-
33ext/exif/exif.c
-
21ext/exif/tests/exif_read_data_streams_seek.phpt
-
61ext/mbstring/oniguruma.patch
-
6ext/mbstring/oniguruma/src/regint.h
-
21ext/oci8/package.xml
-
2ext/oci8/php_oci8.h
-
6ext/oci8/tests/driver_name.phpt
-
14ext/pcre/config0.m4
-
2travis/compile.sh
@ -0,0 +1,21 @@ |
|||
--TEST-- |
|||
exif_read_data() with streams seeking test |
|||
--SKIPIF-- |
|||
<?php if (!extension_loaded('exif')) print 'skip exif extension not available';?> |
|||
--INI-- |
|||
output_handler= |
|||
zlib.output_compression=0 |
|||
--FILE-- |
|||
<?php |
|||
$fp = fopen(__DIR__ . '/image027.tiff', 'rb'); |
|||
|
|||
fseek($fp, 100, SEEK_SET); |
|||
|
|||
exif_read_data($fp); |
|||
|
|||
var_dump(ftell($fp) === 100); |
|||
|
|||
fclose($fp); |
|||
?> |
|||
--EXPECT-- |
|||
bool(true) |
|||
@ -0,0 +1,61 @@ |
|||
diff -wur oniguruma.orig/src/config.h.win32 oniguruma/src/config.h.win32
|
|||
--- oniguruma.orig/src/config.h.win32 2017-07-13 17:12:45.228068900 +0200
|
|||
+++ oniguruma/src/config.h.win32 2017-07-13 16:11:19.955226200 +0200
|
|||
@@ -15,6 +15,7 @@
|
|||
#define SIZEOF_VOIDP 4 |
|||
#define SIZEOF_FLOAT 4 |
|||
#define SIZEOF_DOUBLE 8 |
|||
+#define SIZEOF_SIZE_T 4
|
|||
#define HAVE_PROTOTYPES 1 |
|||
#define TOKEN_PASTE(x,y) x##y |
|||
#define HAVE_STDARG_PROTOTYPES 1 |
|||
diff -wur oniguruma.orig/src/config.h.win64 oniguruma/src/config.h.win64
|
|||
--- oniguruma.orig/src/config.h.win64 2017-07-13 17:12:45.273605000 +0200
|
|||
+++ oniguruma/src/config.h.win64 2017-07-13 16:11:19.957231300 +0200
|
|||
@@ -15,6 +15,7 @@
|
|||
#define SIZEOF_VOIDP 8 |
|||
#define SIZEOF_FLOAT 4 |
|||
#define SIZEOF_DOUBLE 8 |
|||
+#define SIZEOF_SIZE_T 8
|
|||
#define HAVE_PROTOTYPES 1 |
|||
#define TOKEN_PASTE(x,y) x##y |
|||
#define HAVE_STDARG_PROTOTYPES 1 |
|||
diff -wur oniguruma.orig/src/regint.h oniguruma/src/regint.h
|
|||
--- oniguruma.orig/src/regint.h 2017-07-13 17:12:48.686073300 +0200
|
|||
+++ oniguruma/src/regint.h 2017-07-13 17:13:28.032286100 +0200
|
|||
@@ -201,17 +201,21 @@
|
|||
} while(0) |
|||
|
|||
/* sizeof(OnigCodePoint) */ |
|||
+#ifdef SIZEOF_SIZE_T
|
|||
+# define WORD_ALIGNMENT_SIZE SIZEOF_SIZE_T
|
|||
+#else
|
|||
#define WORD_ALIGNMENT_SIZE SIZEOF_LONG |
|||
+#endif
|
|||
|
|||
#define GET_ALIGNMENT_PAD_SIZE(addr,pad_size) do {\ |
|||
(pad_size) = WORD_ALIGNMENT_SIZE \ |
|||
- - ((unsigned int )(addr) % WORD_ALIGNMENT_SIZE);\
|
|||
+ - ((size_t)(addr) % WORD_ALIGNMENT_SIZE);\
|
|||
if ((pad_size) == WORD_ALIGNMENT_SIZE) (pad_size) = 0;\ |
|||
} while (0) |
|||
|
|||
#define ALIGNMENT_RIGHT(addr) do {\ |
|||
(addr) += (WORD_ALIGNMENT_SIZE - 1);\ |
|||
- (addr) -= ((unsigned int )(addr) % WORD_ALIGNMENT_SIZE);\
|
|||
+ (addr) -= ((size_t)(addr) % WORD_ALIGNMENT_SIZE);\
|
|||
} while (0) |
|||
|
|||
#endif /* PLATFORM_UNALIGNED_WORD_ACCESS */ |
|||
@@ -662,7 +666,11 @@
|
|||
BBuf* mbuf; /* multi-byte info or NULL */ |
|||
} CClassNode; |
|||
|
|||
+#ifdef _WIN64
|
|||
+typedef __int64 OnigStackIndex;
|
|||
+#else
|
|||
typedef long OnigStackIndex; |
|||
+#endif
|
|||
|
|||
typedef struct _OnigStackType { |
|||
unsigned int type; |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue