summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDov Grobgeld <dov.grobgeld@gmail.com>2017-11-07 21:55:06 +0200
committerDov Grobgeld <dov.grobgeld@gmail.com>2017-11-07 23:06:15 +0200
commit7588059c7d3378baf60d12f3217324781b2f7669 (patch)
treef3f29a58233679347ed344c3d91905ca1915427d
parent7be4e8f87c77d0ff4bdbd1638768e8772d89f7b2 (diff)
downloadfribidi-7588059c7d3378baf60d12f3217324781b2f7669.tar.gz
Restored the old API and made it deprecated.
* fribidi_get_par_embedding_levels() is now a deprecated interface to the new fribidi_get_par_embedding_levels_ex() function with a NULL pointer for the bracket type. * Removed warnings of unassigned return values from fribidi-vs-unicode test.c and test-character.c .
-rw-r--r--fribidi-vs-unicode/test-character.c35
-rw-r--r--fribidi-vs-unicode/test.c38
-rw-r--r--lib/fribidi-bidi.c2
-rw-r--r--lib/fribidi-bidi.h6
-rw-r--r--lib/fribidi-deprecated.c27
-rw-r--r--lib/fribidi-deprecated.h21
6 files changed, 85 insertions, 44 deletions
diff --git a/fribidi-vs-unicode/test-character.c b/fribidi-vs-unicode/test-character.c
index a4087ee..545b7fa 100644
--- a/fribidi-vs-unicode/test-character.c
+++ b/fribidi-vs-unicode/test-character.c
@@ -298,21 +298,23 @@ main (int argc, char **argv)
case 2: base_dir = FRIBIDI_PAR_ON; break;
}
- fribidi_get_par_embedding_levels (types,
- bracket_types,
- types_len,
- &base_dir,
- levels);
+ if (fribidi_get_par_embedding_levels_ex (types,
+ bracket_types,
+ types_len,
+ &base_dir,
+ levels))
+ ;
for (i = 0; i < types_len; i++)
ltor[i] = i;
- fribidi_reorder_line (0 /*FRIBIDI_FLAG_REORDER_NSM*/,
- types, types_len,
- 0, base_dir,
- levels,
- NULL,
- ltor);
+ if (fribidi_reorder_line (0 /*FRIBIDI_FLAG_REORDER_NSM*/,
+ types, types_len,
+ 0, base_dir,
+ levels,
+ NULL,
+ ltor))
+ ;
j = 0;
for (i = 0; i < types_len; i++)
@@ -382,11 +384,12 @@ main (int argc, char **argv)
case 2: base_dir = FRIBIDI_PAR_RTL; break;
}
- fribidi_get_par_embedding_levels (types,
- bracket_types,
- types_len,
- &base_dir,
- levels);
+ if (fribidi_get_par_embedding_levels_ex (types,
+ bracket_types,
+ types_len,
+ &base_dir,
+ levels))
+ ;
fribidi_set_debug (0);
}
diff --git a/fribidi-vs-unicode/test.c b/fribidi-vs-unicode/test.c
index 35d74d2..8571142 100644
--- a/fribidi-vs-unicode/test.c
+++ b/fribidi-vs-unicode/test.c
@@ -274,21 +274,23 @@ main (int argc, char **argv)
case 2: base_dir = FRIBIDI_PAR_RTL; break;
}
- fribidi_get_par_embedding_levels (types,
- NULL, /* Brackets are not used in the BidiTest.txt file */
- types_len,
- &base_dir,
- levels);
+ if (fribidi_get_par_embedding_levels_ex (types,
+ NULL, /* Brackets are not used in the BidiTest.txt file */
+ types_len,
+ &base_dir,
+ levels))
+ ;
for (i = 0; i < types_len; i++)
ltor[i] = i;
- fribidi_reorder_line (0 /*FRIBIDI_FLAG_REORDER_NSM*/,
- types, types_len,
- 0, base_dir,
- levels,
- NULL,
- ltor);
+ if (fribidi_reorder_line (0 /*FRIBIDI_FLAG_REORDER_NSM*/,
+ types, types_len,
+ 0, base_dir,
+ levels,
+ NULL,
+ ltor))
+ ;
j = 0;
for (i = 0; i < types_len; i++)
@@ -347,7 +349,8 @@ main (int argc, char **argv)
g_printerr (" %d", ltor[i]);
g_printerr ("\n");
- if (debug) {
+ if (debug)
+ {
FriBidiParType base_dir;
fribidi_set_debug (1);
@@ -358,11 +361,12 @@ main (int argc, char **argv)
case 2: base_dir = FRIBIDI_PAR_RTL; break;
}
- fribidi_get_par_embedding_levels (types,
- NULL, /* No bracket types */
- types_len,
- &base_dir,
- levels);
+ if (fribidi_get_par_embedding_levels_ex (types,
+ NULL, /* No bracket types */
+ types_len,
+ &base_dir,
+ levels))
+ ;
fribidi_set_debug (0);
}
diff --git a/lib/fribidi-bidi.c b/lib/fribidi-bidi.c
index 1814cb5..309c9df 100644
--- a/lib/fribidi-bidi.c
+++ b/lib/fribidi-bidi.c
@@ -504,7 +504,7 @@ static void free_pairing_nodes(FriBidiPairingNode *nodes)
}
FRIBIDI_ENTRY FriBidiLevel
-fribidi_get_par_embedding_levels (
+fribidi_get_par_embedding_levels_ex (
/* input */
const FriBidiCharType *bidi_types,
const FriBidiBracketType *bracket_types,
diff --git a/lib/fribidi-bidi.h b/lib/fribidi-bidi.h
index 1a4bbc5..d2692d7 100644
--- a/lib/fribidi-bidi.h
+++ b/lib/fribidi-bidi.h
@@ -68,8 +68,8 @@ FRIBIDI_ENTRY FriBidiParType fribidi_get_par_direction (
const FriBidiStrIndex len /* input string length */
);
-#define fribidi_get_par_embedding_levels FRIBIDI_NAMESPACE(get_par_embedding_levels)
-/* fribidi_get_par_embedding_levels - get bidi embedding levels of a paragraph
+#define fribidi_get_par_embedding_levels_ex FRIBIDI_NAMESPACE(get_par_embedding_levels_ex)
+/* fribidi_get_par_embedding_levels_ex - get bidi embedding levels of a paragraph
*
* This function finds the bidi embedding levels of a single paragraph,
* as defined by the Unicode Bidirectional Algorithm available at
@@ -85,7 +85,7 @@ FRIBIDI_ENTRY FriBidiParType fribidi_get_par_direction (
* (memory allocation failure most probably).
*/
FRIBIDI_ENTRY FriBidiLevel
-fribidi_get_par_embedding_levels (
+fribidi_get_par_embedding_levels_ex (
const FriBidiCharType *bidi_types, /* input list of bidi types as returned by
fribidi_get_bidi_types() */
const FriBidiBracketType *bracket_types, /* input list of bracket types as returned by
diff --git a/lib/fribidi-deprecated.c b/lib/fribidi-deprecated.c
index b5ce074..a83b1cd 100644
--- a/lib/fribidi-deprecated.c
+++ b/lib/fribidi-deprecated.c
@@ -86,15 +86,13 @@ FRIBIDI_ENTRY FriBidiLevel
fribidi_log2vis_get_embedding_levels (
const FriBidiCharType *bidi_types, /* input list of bidi types as returned by
fribidi_get_bidi_types() */
- const FriBidiBracketType *bracket_types, /* input list of bidi types as returned by
- fribidi_get_bracket_types() */
const FriBidiStrIndex len, /* input string length of the paragraph */
FriBidiParType *pbase_dir, /* requested and resolved paragraph
* base direction */
FriBidiLevel *embedding_levels /* output list of embedding levels */
)
{
- return fribidi_get_par_embedding_levels (bidi_types, bracket_types, len, pbase_dir, embedding_levels);
+ return fribidi_get_par_embedding_levels (bidi_types, len, pbase_dir, embedding_levels);
}
FRIBIDI_ENTRY FriBidiCharType
@@ -241,7 +239,7 @@ fribidi_log2vis (
private_embedding_levels = true;
}
- max_level = fribidi_get_par_embedding_levels (bidi_types, bracket_types, len, pbase_dir,
+ max_level = fribidi_get_par_embedding_levels (bidi_types, len, pbase_dir,
embedding_levels) - 1;
if UNLIKELY
(max_level < 0) goto out;
@@ -316,6 +314,27 @@ out:
return status ? max_level + 1 : 0;
}
+FRIBIDI_ENTRY FriBidiLevel
+fribidi_get_par_embedding_levels (
+ /* input */
+ const FriBidiCharType *bidi_types,
+ const FriBidiStrIndex len,
+ /* input and output */
+ FriBidiParType *pbase_dir,
+ /* output */
+ FriBidiLevel *embedding_levels
+)
+{
+ return fribidi_get_par_embedding_levels_ex (/* input */
+ bidi_types,
+ NULL, /* No bracket_types */
+ len,
+ /* input and output */
+ pbase_dir,
+ /* output */
+ embedding_levels);
+}
+
#endif /* !FRIBIDI_NO_DEPRECATED */
/* Editor directions:
diff --git a/lib/fribidi-deprecated.h b/lib/fribidi-deprecated.h
index 171e279..e1e3078 100644
--- a/lib/fribidi-deprecated.h
+++ b/lib/fribidi-deprecated.h
@@ -107,15 +107,13 @@
/* fribidi_log2vis_get_embedding_levels - get embedding levels
*
- * Deprecated. Replaced by fribidi_get_par_embedding_levels.
+ * Deprecated. Replaced by fribidi_get_par_embedding_levels_ex.
*/
#define fribidi_log2vis_get_embedding_levels FRIBIDI_NAMESPACE(log2vis_get_embedding_levels)
FRIBIDI_ENTRY FriBidiLevel
fribidi_log2vis_get_embedding_levels (
const FriBidiCharType *bidi_types, /* input list of bidi types as returned by
fribidi_get_bidi_types() */
- const FriBidiBracketType *bracket_types, /* input list of bidi types as returned by
- fribidi_get_bracket_types() */
const FriBidiStrIndex len, /* input string length of the paragraph */
FriBidiParType *pbase_dir, /* requested and resolved paragraph
* base direction */
@@ -213,6 +211,23 @@ fribidi_remove_bidi_marks (
FRIBIDI_GNUC_WARN_UNUSED FRIBIDI_GNUC_DEPRECATED;
+#define fribidi_get_par_embedding_levels FRIBIDI_NAMESPACE(get_par_embedding_levels)
+/* fribidi_get_par_embedding_levels - get bidi embedding levels of a paragraph
+ *
+ * Deprecated interface to fribidi_get_par_embedding_levels_ex(). Refer to
+ * it for documentation.
+ */
+FRIBIDI_ENTRY FriBidiLevel
+fribidi_get_par_embedding_levels (
+ const FriBidiCharType *bidi_types, /* input list of bidi types as returned by
+ fribidi_get_bidi_types() */
+ const FriBidiStrIndex len, /* input string length of the paragraph */
+ FriBidiParType *pbase_dir, /* requested and resolved paragraph
+ * base direction */
+ FriBidiLevel *embedding_levels /* output list of embedding levels */
+)
+ FRIBIDI_GNUC_WARN_UNUSED FRIBIDI_GNUC_DEPRECATED;
+
#define UNI_MAX_BIDI_LEVEL FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL
#define UNI_LRM FRIBIDI_CHAR_LRM
#define UNI_RLM FRIBIDI_CHAR_RLM