php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Return to Bug #57893
Patch fribidi-constants revision 2013-04-01 15:08 UTC by clicky at erebot dot net

Patch fribidi-constants for fribidi Bug #57893

Patch version 2013-04-01 15:08 UTC

Return to Bug #57893 | Download this patch
Patch Revisions:

Developer: clicky@erebot.net

--- fribidi.c.bak	2013-04-01 16:44:18.000000000 +0200
+++ fribidi.c	2013-04-01 17:00:11.000000000 +0200
@@ -31,17 +31,6 @@
 #include "ext/standard/info.h"
 #include <fribidi/fribidi.h>
 
-/* The fribidi guys dont believe in BC */
-/*#ifndef FRIBIDI_CHARSET_UTF8
-#define FRIBIDI_CHARSET_UTF8                FRIBIDI_CHAR_SET_UTF8
-#define FRIBIDI_CHARSET_ISO8859_6           FRIBIDI_CHAR_SET_ISO8859_6
-#define FRIBIDI_CHARSET_ISO8859_8           FRIBIDI_CHAR_SET_ISO8859_8
-#define FRIBIDI_CHARSET_CP1255              FRIBIDI_CHAR_SET_CP1255
-#define FRIBIDI_CHARSET_CP1256              FRIBIDI_CHAR_SET_CP1256
-#define FRIBIDI_CHARSET_ISIRI_3342          FRIBIDI_CHAR_SET_ISIRI_3342
-#define FRIBIDI_CHARSET_CAP_RTL             FRIBIDI_CHAR_SET_CAP_RTL
-#endif*/
-
 function_entry fribidi_functions[] = {
 	PHP_FE(fribidi_log2vis,	     NULL)
 	PHP_FE(fribidi_charset_info, NULL)
@@ -71,13 +60,18 @@
 PHP_MINIT_FUNCTION(fribidi)
 {
 	/* Charsets */
-	REGISTER_LONG_CONSTANT("FRIBIDI_CHARSET_UTF8", FRIBIDI_CHARSET_UTF8, CONST_CS | CONST_PERSISTENT);
-	REGISTER_LONG_CONSTANT("FRIBIDI_CHARSET_8859_6", FRIBIDI_CHARSET_ISO8859_6, CONST_CS | CONST_PERSISTENT);
-	REGISTER_LONG_CONSTANT("FRIBIDI_CHARSET_8859_8", FRIBIDI_CHARSET_ISO8859_8, CONST_CS | CONST_PERSISTENT);
-	REGISTER_LONG_CONSTANT("FRIBIDI_CHARSET_CP1255", FRIBIDI_CHARSET_CP1255, CONST_CS | CONST_PERSISTENT);
-	REGISTER_LONG_CONSTANT("FRIBIDI_CHARSET_CP1256", FRIBIDI_CHARSET_CP1256, CONST_CS | CONST_PERSISTENT);
-	REGISTER_LONG_CONSTANT("FRIBIDI_CHARSET_ISIRI_3342", FRIBIDI_CHARSET_ISIRI_3342, CONST_CS | CONST_PERSISTENT);
-	REGISTER_LONG_CONSTANT("FRIBIDI_CHARSET_CAP_RTL", FRIBIDI_CHARSET_CAP_RTL, CONST_CS | CONST_PERSISTENT);
+	REGISTER_LONG_CONSTANT("FRIBIDI_CHAR_SET_UTF8", FRIBIDI_CHAR_SET_UTF8, CONST_CS | CONST_PERSISTENT);
+	REGISTER_LONG_CONSTANT("FRIBIDI_CHARSET_UTF8", FRIBIDI_CHAR_SET_UTF8, CONST_CS | CONST_PERSISTENT);
+	REGISTER_LONG_CONSTANT("FRIBIDI_CHAR_SET_8859_6", FRIBIDI_CHAR_SET_ISO8859_6, CONST_CS | CONST_PERSISTENT);
+	REGISTER_LONG_CONSTANT("FRIBIDI_CHARSET_8859_6", FRIBIDI_CHAR_SET_ISO8859_6, CONST_CS | CONST_PERSISTENT);
+	REGISTER_LONG_CONSTANT("FRIBIDI_CHAR_SET_8859_8", FRIBIDI_CHAR_SET_ISO8859_8, CONST_CS | CONST_PERSISTENT);
+	REGISTER_LONG_CONSTANT("FRIBIDI_CHARSET_8859_8", FRIBIDI_CHAR_SET_ISO8859_8, CONST_CS | CONST_PERSISTENT);
+	REGISTER_LONG_CONSTANT("FRIBIDI_CHAR_SET_CP1255", FRIBIDI_CHAR_SET_CP1255, CONST_CS | CONST_PERSISTENT);
+	REGISTER_LONG_CONSTANT("FRIBIDI_CHARSET_CP1255", FRIBIDI_CHAR_SET_CP1255, CONST_CS | CONST_PERSISTENT);
+	REGISTER_LONG_CONSTANT("FRIBIDI_CHAR_SET_CP1256", FRIBIDI_CHAR_SET_CP1256, CONST_CS | CONST_PERSISTENT);
+	REGISTER_LONG_CONSTANT("FRIBIDI_CHARSET_CP1256", FRIBIDI_CHAR_SET_CP1256, CONST_CS | CONST_PERSISTENT);
+	REGISTER_LONG_CONSTANT("FRIBIDI_CHAR_SET_CAP_RTL", FRIBIDI_CHAR_SET_CAP_RTL, CONST_CS | CONST_PERSISTENT);
+	REGISTER_LONG_CONSTANT("FRIBIDI_CHARSET_CAP_RTL", FRIBIDI_CHAR_SET_CAP_RTL, CONST_CS | CONST_PERSISTENT);
 	
 	/* Directions */
 	REGISTER_LONG_CONSTANT("FRIBIDI_AUTO", FRIBIDI_TYPE_ON, CONST_CS | CONST_PERSISTENT);
@@ -120,13 +114,12 @@
 |                               BiDi algorithm.              |
 |        3) Character code being used -                      |
 |             Possible values (i.e., charsets supported)     |
-|              FRIBIDI_CHARSET_UTF8                          |
-|              FRIBIDI_CHARSET_8859_6                        |
-|              FRIBIDI_CHARSET_8859_8                        |
-|              FRIBIDI_CHARSET_CP1255                        |
-|              FRIBIDI_CHARSET_CP1256                        |
-|              FRIBIDI_CHARSET_ISIRI_3342                    |
-|              FRIBIDI_CHARSET_CAP_RTL                       |
+|              FRIBIDI_CHAR_SET_UTF8                         |
+|              FRIBIDI_CHAR_SET_8859_6                       |
+|              FRIBIDI_CHAR_SET_8859_8                       |
+|              FRIBIDI_CHAR_SET_CP1255                       |
+|              FRIBIDI_CHAR_SET_CP1256                       |
+|              FRIBIDI_CHAR_SET_CAP_RTL                      |
 |                                                            |
 | Output: on success: The visual string.                     |
 |         on failure: FALSE                                  |
@@ -188,13 +181,12 @@
 	}
 
 	switch(Z_LVAL_PP(charset)) {
-		case FRIBIDI_CHARSET_UTF8:
-		case FRIBIDI_CHARSET_ISO8859_6:
-		case FRIBIDI_CHARSET_ISO8859_8:
-		case FRIBIDI_CHARSET_CP1255:
-		case FRIBIDI_CHARSET_CP1256:
-		case FRIBIDI_CHARSET_ISIRI_3342:
-		case FRIBIDI_CHARSET_CAP_RTL:
+		case FRIBIDI_CHAR_SET_UTF8:
+		case FRIBIDI_CHAR_SET_ISO8859_6:
+		case FRIBIDI_CHAR_SET_ISO8859_8:
+		case FRIBIDI_CHAR_SET_CP1255:
+		case FRIBIDI_CHAR_SET_CP1256:
+		case FRIBIDI_CHAR_SET_CAP_RTL:
 			len = fribidi_charset_to_unicode(Z_LVAL_PP(charset), in_string, len, u_logical_str);
 			break;
 		default:
@@ -212,21 +204,20 @@
 	
 	out_string = (char *) emalloc(sizeof(char)*alloc_len);
 
-#if FRIBIDI_MAJOR_VERSION == 0 && FRIBIDI_MINOR_VERSION <= 10
-	fribidi_log2vis(u_logical_str, len, &base_dir, u_visual_str, position_L_to_V_list, position_V_to_L_list, embedding_level_list);
-#else
+#if FRIBIDI_MAJOR_VERSION == 0 && FRIBIDI_MINOR_VERSION == 10 && FRIBIDI_MICRO_VERSION == 2
 	fribidi_log2vis(NULL, u_logical_str, len, &base_dir, u_visual_str, position_L_to_V_list, position_V_to_L_list, embedding_level_list);
+#else
+	fribidi_log2vis(u_logical_str, len, &base_dir, u_visual_str, position_L_to_V_list, position_V_to_L_list, embedding_level_list);
 #endif
 	
 	/* convert back to original char set */
 	switch(Z_LVAL_PP(charset)) {
-		case FRIBIDI_CHARSET_UTF8:
-		case FRIBIDI_CHARSET_ISO8859_6:
-		case FRIBIDI_CHARSET_ISO8859_8:
-		case FRIBIDI_CHARSET_CP1255:
-		case FRIBIDI_CHARSET_CP1256:
-		case FRIBIDI_CHARSET_ISIRI_3342:
-		case FRIBIDI_CHARSET_CAP_RTL:
+		case FRIBIDI_CHAR_SET_UTF8:
+		case FRIBIDI_CHAR_SET_ISO8859_6:
+		case FRIBIDI_CHAR_SET_ISO8859_8:
+		case FRIBIDI_CHAR_SET_CP1255:
+		case FRIBIDI_CHAR_SET_CP1256:
+		case FRIBIDI_CHAR_SET_CAP_RTL:
 			fribidi_unicode_to_charset(Z_LVAL_PP(charset), u_visual_str, len, out_string);
 			break;									
 		default:
@@ -265,13 +256,12 @@
 	}
 
 	switch (charset) {
-		case FRIBIDI_CHARSET_UTF8:
-		case FRIBIDI_CHARSET_ISO8859_6:
-		case FRIBIDI_CHARSET_ISO8859_8:
-		case FRIBIDI_CHARSET_CP1255:
-		case FRIBIDI_CHARSET_CP1256:
-		case FRIBIDI_CHARSET_ISIRI_3342:
-		case FRIBIDI_CHARSET_CAP_RTL:
+		case FRIBIDI_CHAR_SET_UTF8:
+		case FRIBIDI_CHAR_SET_ISO8859_6:
+		case FRIBIDI_CHAR_SET_ISO8859_8:
+		case FRIBIDI_CHAR_SET_CP1255:
+		case FRIBIDI_CHAR_SET_CP1256:
+		case FRIBIDI_CHAR_SET_CAP_RTL:
 			array_init(return_value);
 			
 			name  = fribidi_char_set_name(charset);
@@ -302,13 +292,18 @@
 {
 	array_init(return_value);
 
-	add_index_string(return_value, FRIBIDI_CHARSET_UTF8, "FRIBIDI_CHARSET_UTF8", 1);
-	add_index_string(return_value, FRIBIDI_CHARSET_CAP_RTL, "FRIBIDI_CHARSET_CAP_RTL", 1);
-	add_index_string(return_value, FRIBIDI_CHARSET_ISO8859_6, "FRIBIDI_CHARSET_8859_6", 1);
-	add_index_string(return_value, FRIBIDI_CHARSET_ISO8859_8, "FRIBIDI_CHARSET_8859_8", 1);
-	add_index_string(return_value, FRIBIDI_CHARSET_CP1255, "FRIBIDI_CHARSET_CP1255", 1);
-	add_index_string(return_value, FRIBIDI_CHARSET_CP1256, "FRIBIDI_CHARSET_CP1256", 1);
-	add_index_string(return_value, FRIBIDI_CHARSET_ISIRI_3342, "FRIBIDI_CHARSET_ISIRI_3342", 1);
+	add_index_string(return_value, FRIBIDI_CHAR_SET_UTF8, "FRIBIDI_CHAR_SET_UTF8", 1);
+	add_index_string(return_value, FRIBIDI_CHAR_SET_UTF8, "FRIBIDI_CHARSET_UTF8", 1);
+	add_index_string(return_value, FRIBIDI_CHAR_SET_CAP_RTL, "FRIBIDI_CHAR_SET_CAP_RTL", 1);
+	add_index_string(return_value, FRIBIDI_CHAR_SET_CAP_RTL, "FRIBIDI_CHARSET_CAP_RTL", 1);
+	add_index_string(return_value, FRIBIDI_CHAR_SET_ISO8859_6, "FRIBIDI_CHAR_SET_8859_6", 1);
+	add_index_string(return_value, FRIBIDI_CHAR_SET_ISO8859_6, "FRIBIDI_CHARSET_8859_6", 1);
+	add_index_string(return_value, FRIBIDI_CHAR_SET_ISO8859_8, "FRIBIDI_CHAR_SET_8859_8", 1);
+	add_index_string(return_value, FRIBIDI_CHAR_SET_ISO8859_8, "FRIBIDI_CHARSET_8859_8", 1);
+	add_index_string(return_value, FRIBIDI_CHAR_SET_CP1255, "FRIBIDI_CHAR_SET_CP1255", 1);
+	add_index_string(return_value, FRIBIDI_CHAR_SET_CP1255, "FRIBIDI_CHARSET_CP1255", 1);
+	add_index_string(return_value, FRIBIDI_CHAR_SET_CP1256, "FRIBIDI_CHAR_SET_CP1256", 1);
+	add_index_string(return_value, FRIBIDI_CHAR_SET_CP1256, "FRIBIDI_CHARSET_CP1256", 1);
 }
 /* }}} */
 
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Apr 20 01:01:28 2024 UTC