From f5ba1d844882960962ca38c2872c0175267fcb5e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fran=C3=A7ois=20Pinard?= Date: Sun, 16 Mar 2008 22:17:09 -0400 Subject: [PATCH] Include cleaner.h in recodext.h --- ChangeLog | 4 + cleaner.h.in | 352 +++++++++++---------- src/ChangeLog | 5 + src/Makefile.am | 8 +- src/Makefile.in | 7 +- src/recodext.h | 189 +++++++++++ src/recodext.h.in | 774 ++++++++++++++++++++++++++++++++++++++++++++++ tests/ChangeLog | 4 + tests/Recode.c | 604 ++++++++++++++++++------------------ tests/Recode.pyx | 158 ++++------ 10 files changed, 1537 insertions(+), 568 deletions(-) create mode 100644 src/recodext.h.in diff --git a/ChangeLog b/ChangeLog index efe4990..22fa907 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2008-03-16 François Pinard + + * cleaner.h.in: Protect against multiple inclusion. + 2008-03-14 François Pinard * after-patch.py: New name for after-git.py. diff --git a/cleaner.h.in b/cleaner.h.in index c34d9df..7b52d72 100644 --- a/cleaner.h.in +++ b/cleaner.h.in @@ -1,163 +1,189 @@ -#define __xargmatch_internal librecode_xargmatch_internal -#define aliases_lookup librecode_aliases_lookup -#define argcasematch librecode_argcasematch -#define argmatch librecode_argmatch -#define argmatch_invalid librecode_argmatch_invalid -#define argmatch_to_argument librecode_argmatch_to_argument -#define argmatch_valid librecode_argmatch_valid -#define clone_quoting_options librecode_clone_quoting_options -#define code_to_ucs2 librecode_code_to_ucs2 -#define combine_byte_byte librecode_combine_byte_byte -#define combine_byte_ucs2 librecode_combine_byte_ucs2 -#define combine_ucs2_byte librecode_combine_ucs2_byte -#define combine_ucs2_ucs2 librecode_combine_ucs2_ucs2 -#define complete_pairs librecode_complete_pairs -#define declare_alias librecode_declare_alias -#define declare_explode_data librecode_declare_explode_data -#define declare_iconv librecode_declare_iconv -#define declare_implied_surface librecode_declare_implied_surface -#define declare_single librecode_declare_single -#define declare_strip_data librecode_declare_strip_data -#define decode_known_pairs librecode_decode_known_pairs -#define delmodule_african librecode_delmodule_african -#define delmodule_afrtran librecode_delmodule_afrtran -#define delmodule_applemac librecode_delmodule_applemac -#define delmodule_ascii_latin1 librecode_delmodule_ascii_latin1 -#define delmodule_atarist librecode_delmodule_atarist -#define delmodule_bangbang librecode_delmodule_bangbang -#define delmodule_base64 librecode_delmodule_base64 -#define delmodule_cdcnos librecode_delmodule_cdcnos -#define delmodule_dump librecode_delmodule_dump -#define delmodule_ebcdic librecode_delmodule_ebcdic -#define delmodule_endline librecode_delmodule_endline -#define delmodule_flat librecode_delmodule_flat -#define delmodule_html librecode_delmodule_html -#define delmodule_ibmpc librecode_delmodule_ibmpc -#define delmodule_iconqnx librecode_delmodule_iconqnx -#define delmodule_iconv librecode_delmodule_iconv -#define delmodule_latex_latin1 librecode_delmodule_latex_latin1 -#define delmodule_latin1_ascii librecode_delmodule_latin1_ascii -#define delmodule_latin1_latex librecode_delmodule_latin1_latex -#define delmodule_latin1_texte librecode_delmodule_latin1_texte -#define delmodule_mule librecode_delmodule_mule -#define delmodule_permutations librecode_delmodule_permutations -#define delmodule_quoted_printable librecode_delmodule_quoted_printable -#define delmodule_rfc1345 librecode_delmodule_rfc1345 -#define delmodule_strips librecode_delmodule_strips -#define delmodule_testdump librecode_delmodule_testdump -#define delmodule_texinfo librecode_delmodule_texinfo -#define delmodule_texte_latin1 librecode_delmodule_texte_latin1 -#define delmodule_ucs librecode_delmodule_ucs -#define delmodule_utf16 librecode_delmodule_utf16 -#define delmodule_utf7 librecode_delmodule_utf7 -#define delmodule_utf8 librecode_delmodule_utf8 -#define delmodule_varia librecode_delmodule_varia -#define delmodule_vietnamese librecode_delmodule_vietnamese -#define edit_sequence librecode_edit_sequence -#define explode_byte_byte librecode_explode_byte_byte -#define explode_byte_ucs2 librecode_explode_byte_ucs2 -#define explode_ucs2_byte librecode_explode_ucs2_byte -#define explode_ucs2_ucs2 librecode_explode_ucs2_ucs2 -#define find_alias librecode_find_alias -#define find_and_report_subsets librecode_find_and_report_subsets -#define get_byte_helper librecode_get_byte_helper -#define get_quoting_style librecode_get_quoting_style -#define get_ucs2 librecode_get_ucs2 -#define get_ucs4 librecode_get_ucs4 -#define hash_clear librecode_hash_clear -#define hash_delete librecode_hash_delete -#define hash_do_for_each librecode_hash_do_for_each -#define hash_free librecode_hash_free -#define hash_get_entries librecode_hash_get_entries -#define hash_get_first librecode_hash_get_first -#define hash_get_max_bucket_length librecode_hash_get_max_bucket_length -#define hash_get_n_buckets librecode_hash_get_n_buckets -#define hash_get_n_buckets_used librecode_hash_get_n_buckets_used -#define hash_get_n_entries librecode_hash_get_n_entries -#define hash_get_next librecode_hash_get_next -#define hash_initialize librecode_hash_initialize -#define hash_insert librecode_hash_insert -#define hash_lookup librecode_hash_lookup -#define hash_print_statistics librecode_hash_print_statistics -#define hash_rehash librecode_hash_rehash -#define hash_reset_tuning librecode_hash_reset_tuning -#define hash_string librecode_hash_string -#define hash_table_ok librecode_hash_table_ok -#define init_combine librecode_init_combine -#define init_explode librecode_init_explode -#define init_ucs2_to_byte librecode_init_ucs2_to_byte -#define invert_table librecode_invert_table -#define list_all_symbols librecode_list_all_symbols -#define list_concise_charset librecode_list_concise_charset -#define list_full_charset librecode_list_full_charset -#define locale_charset librecode_locale_charset -#define make_argmatch_arrays librecode_make_argmatch_arrays -#define module_african librecode_module_african -#define module_afrtran librecode_module_afrtran -#define module_applemac librecode_module_applemac -#define module_ascii_latin1 librecode_module_ascii_latin1 -#define module_atarist librecode_module_atarist -#define module_bangbang librecode_module_bangbang -#define module_base64 librecode_module_base64 -#define module_cdcnos librecode_module_cdcnos -#define module_dump librecode_module_dump -#define module_ebcdic librecode_module_ebcdic -#define module_endline librecode_module_endline -#define module_flat librecode_module_flat -#define module_html librecode_module_html -#define module_ibmpc librecode_module_ibmpc -#define module_iconqnx librecode_module_iconqnx -#define module_iconv librecode_module_iconv -#define module_latex_latin1 librecode_module_latex_latin1 -#define module_latin1_ascii librecode_module_latin1_ascii -#define module_latin1_latex librecode_module_latin1_latex -#define module_latin1_texte librecode_module_latin1_texte -#define module_mule librecode_module_mule -#define module_permutations librecode_module_permutations -#define module_quoted_printable librecode_module_quoted_printable -#define module_rfc1345 librecode_module_rfc1345 -#define module_strips librecode_module_strips -#define module_testdump librecode_module_testdump -#define module_texinfo librecode_module_texinfo -#define module_texte_latin1 librecode_module_texte_latin1 -#define module_ucs librecode_module_ucs -#define module_utf16 librecode_module_utf16 -#define module_utf7 librecode_module_utf7 -#define module_utf8 librecode_module_utf8 -#define module_varia librecode_module_varia -#define module_vietnamese librecode_module_vietnamese -#define prepare_for_aliases librecode_prepare_for_aliases -#define put_byte_helper librecode_put_byte_helper -#define put_ucs2 librecode_put_ucs2 -#define put_ucs4 librecode_put_ucs4 -#define quotearg librecode_quotearg -#define quotearg_buffer librecode_quotearg_buffer -#define quotearg_char librecode_quotearg_char -#define quotearg_colon librecode_quotearg_colon -#define quotearg_n librecode_quotearg_n -#define quotearg_n_style librecode_quotearg_n_style -#define quotearg_style librecode_quotearg_style -#define reversibility librecode_reversibility -#define set_char_quoting librecode_set_char_quoting -#define set_quoting_style librecode_set_quoting_style -#define should_prefer_french librecode_should_prefer_french -#define texte_latin1_diaeresis librecode_texte_latin1_diaeresis -#define transform_byte_to_byte librecode_transform_byte_to_byte -#define transform_byte_to_ucs2 librecode_transform_byte_to_ucs2 -#define transform_byte_to_variable librecode_transform_byte_to_variable -#define transform_ucs2_to_byte librecode_transform_ucs2_to_byte -#define transform_with_iconv librecode_transform_with_iconv -#define ucs2_to_charname librecode_ucs2_to_charname -#define ucs2_to_french_charname librecode_ucs2_to_french_charname -#define ucs2_to_rfc1345 librecode_ucs2_to_rfc1345 -#define x2nrealloc librecode_x2nrealloc -#define x2realloc librecode_x2realloc -#define xalloc_die librecode_xalloc_die -#define xcalloc librecode_xcalloc -#define xmalloc librecode_xmalloc -#define xmemdup librecode_xmemdup -#define xnmalloc librecode_xnmalloc -#define xnrealloc librecode_xnrealloc -#define xrealloc librecode_xrealloc -#define xstrdup librecode_xstrdup -#define xzalloc librecode_xzalloc +/* Conversion of files between different charsets and surfaces. + Copyright © 2008 Free Software Foundation, Inc. + Contributed by François Pinard , 2008. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License + as published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + This library is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the implied warranty + of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the Recode Library; see the file `COPYING.LIB'. + If not, write to the Free Software Foundation, Inc., 59 Temple Place - + Suite 330, Boston, MA 02111-1307, USA. */ + +/* Definitions to clean up the linker namespace. */ + +#ifndef CLEANER_H_ +# define CLEANER_H_ + +# define __xargmatch_internal librecode_xargmatch_internal +# define aliases_lookup librecode_aliases_lookup +# define argcasematch librecode_argcasematch +# define argmatch librecode_argmatch +# define argmatch_invalid librecode_argmatch_invalid +# define argmatch_to_argument librecode_argmatch_to_argument +# define argmatch_valid librecode_argmatch_valid +# define clone_quoting_options librecode_clone_quoting_options +# define code_to_ucs2 librecode_code_to_ucs2 +# define combine_byte_byte librecode_combine_byte_byte +# define combine_byte_ucs2 librecode_combine_byte_ucs2 +# define combine_ucs2_byte librecode_combine_ucs2_byte +# define combine_ucs2_ucs2 librecode_combine_ucs2_ucs2 +# define complete_pairs librecode_complete_pairs +# define declare_alias librecode_declare_alias +# define declare_explode_data librecode_declare_explode_data +# define declare_iconv librecode_declare_iconv +# define declare_implied_surface librecode_declare_implied_surface +# define declare_single librecode_declare_single +# define declare_strip_data librecode_declare_strip_data +# define decode_known_pairs librecode_decode_known_pairs +# define delmodule_african librecode_delmodule_african +# define delmodule_afrtran librecode_delmodule_afrtran +# define delmodule_applemac librecode_delmodule_applemac +# define delmodule_ascii_latin1 librecode_delmodule_ascii_latin1 +# define delmodule_atarist librecode_delmodule_atarist +# define delmodule_bangbang librecode_delmodule_bangbang +# define delmodule_base64 librecode_delmodule_base64 +# define delmodule_cdcnos librecode_delmodule_cdcnos +# define delmodule_dump librecode_delmodule_dump +# define delmodule_ebcdic librecode_delmodule_ebcdic +# define delmodule_endline librecode_delmodule_endline +# define delmodule_flat librecode_delmodule_flat +# define delmodule_html librecode_delmodule_html +# define delmodule_ibmpc librecode_delmodule_ibmpc +# define delmodule_iconqnx librecode_delmodule_iconqnx +# define delmodule_iconv librecode_delmodule_iconv +# define delmodule_latex_latin1 librecode_delmodule_latex_latin1 +# define delmodule_latin1_ascii librecode_delmodule_latin1_ascii +# define delmodule_latin1_latex librecode_delmodule_latin1_latex +# define delmodule_latin1_texte librecode_delmodule_latin1_texte +# define delmodule_mule librecode_delmodule_mule +# define delmodule_permutations librecode_delmodule_permutations +# define delmodule_quoted_printable librecode_delmodule_quoted_printable +# define delmodule_rfc1345 librecode_delmodule_rfc1345 +# define delmodule_strips librecode_delmodule_strips +# define delmodule_testdump librecode_delmodule_testdump +# define delmodule_texinfo librecode_delmodule_texinfo +# define delmodule_texte_latin1 librecode_delmodule_texte_latin1 +# define delmodule_ucs librecode_delmodule_ucs +# define delmodule_utf16 librecode_delmodule_utf16 +# define delmodule_utf7 librecode_delmodule_utf7 +# define delmodule_utf8 librecode_delmodule_utf8 +# define delmodule_varia librecode_delmodule_varia +# define delmodule_vietnamese librecode_delmodule_vietnamese +# define edit_sequence librecode_edit_sequence +# define explode_byte_byte librecode_explode_byte_byte +# define explode_byte_ucs2 librecode_explode_byte_ucs2 +# define explode_ucs2_byte librecode_explode_ucs2_byte +# define explode_ucs2_ucs2 librecode_explode_ucs2_ucs2 +# define find_alias librecode_find_alias +# define find_and_report_subsets librecode_find_and_report_subsets +# define get_byte_helper librecode_get_byte_helper +# define get_quoting_style librecode_get_quoting_style +# define get_ucs2 librecode_get_ucs2 +# define get_ucs4 librecode_get_ucs4 +# define hash_clear librecode_hash_clear +# define hash_delete librecode_hash_delete +# define hash_do_for_each librecode_hash_do_for_each +# define hash_free librecode_hash_free +# define hash_get_entries librecode_hash_get_entries +# define hash_get_first librecode_hash_get_first +# define hash_get_max_bucket_length librecode_hash_get_max_bucket_length +# define hash_get_n_buckets librecode_hash_get_n_buckets +# define hash_get_n_buckets_used librecode_hash_get_n_buckets_used +# define hash_get_n_entries librecode_hash_get_n_entries +# define hash_get_next librecode_hash_get_next +# define hash_initialize librecode_hash_initialize +# define hash_insert librecode_hash_insert +# define hash_lookup librecode_hash_lookup +# define hash_print_statistics librecode_hash_print_statistics +# define hash_rehash librecode_hash_rehash +# define hash_reset_tuning librecode_hash_reset_tuning +# define hash_string librecode_hash_string +# define hash_table_ok librecode_hash_table_ok +# define init_combine librecode_init_combine +# define init_explode librecode_init_explode +# define init_ucs2_to_byte librecode_init_ucs2_to_byte +# define invert_table librecode_invert_table +# define list_all_symbols librecode_list_all_symbols +# define list_concise_charset librecode_list_concise_charset +# define list_full_charset librecode_list_full_charset +# define locale_charset librecode_locale_charset +# define make_argmatch_arrays librecode_make_argmatch_arrays +# define module_african librecode_module_african +# define module_afrtran librecode_module_afrtran +# define module_applemac librecode_module_applemac +# define module_ascii_latin1 librecode_module_ascii_latin1 +# define module_atarist librecode_module_atarist +# define module_bangbang librecode_module_bangbang +# define module_base64 librecode_module_base64 +# define module_cdcnos librecode_module_cdcnos +# define module_dump librecode_module_dump +# define module_ebcdic librecode_module_ebcdic +# define module_endline librecode_module_endline +# define module_flat librecode_module_flat +# define module_html librecode_module_html +# define module_ibmpc librecode_module_ibmpc +# define module_iconqnx librecode_module_iconqnx +# define module_iconv librecode_module_iconv +# define module_latex_latin1 librecode_module_latex_latin1 +# define module_latin1_ascii librecode_module_latin1_ascii +# define module_latin1_latex librecode_module_latin1_latex +# define module_latin1_texte librecode_module_latin1_texte +# define module_mule librecode_module_mule +# define module_permutations librecode_module_permutations +# define module_quoted_printable librecode_module_quoted_printable +# define module_rfc1345 librecode_module_rfc1345 +# define module_strips librecode_module_strips +# define module_testdump librecode_module_testdump +# define module_texinfo librecode_module_texinfo +# define module_texte_latin1 librecode_module_texte_latin1 +# define module_ucs librecode_module_ucs +# define module_utf16 librecode_module_utf16 +# define module_utf7 librecode_module_utf7 +# define module_utf8 librecode_module_utf8 +# define module_varia librecode_module_varia +# define module_vietnamese librecode_module_vietnamese +# define prepare_for_aliases librecode_prepare_for_aliases +# define put_byte_helper librecode_put_byte_helper +# define put_ucs2 librecode_put_ucs2 +# define put_ucs4 librecode_put_ucs4 +# define quotearg librecode_quotearg +# define quotearg_buffer librecode_quotearg_buffer +# define quotearg_char librecode_quotearg_char +# define quotearg_colon librecode_quotearg_colon +# define quotearg_n librecode_quotearg_n +# define quotearg_n_style librecode_quotearg_n_style +# define quotearg_style librecode_quotearg_style +# define reversibility librecode_reversibility +# define set_char_quoting librecode_set_char_quoting +# define set_quoting_style librecode_set_quoting_style +# define should_prefer_french librecode_should_prefer_french +# define texte_latin1_diaeresis librecode_texte_latin1_diaeresis +# define transform_byte_to_byte librecode_transform_byte_to_byte +# define transform_byte_to_ucs2 librecode_transform_byte_to_ucs2 +# define transform_byte_to_variable librecode_transform_byte_to_variable +# define transform_ucs2_to_byte librecode_transform_ucs2_to_byte +# define transform_with_iconv librecode_transform_with_iconv +# define ucs2_to_charname librecode_ucs2_to_charname +# define ucs2_to_french_charname librecode_ucs2_to_french_charname +# define ucs2_to_rfc1345 librecode_ucs2_to_rfc1345 +# define x2nrealloc librecode_x2nrealloc +# define x2realloc librecode_x2realloc +# define xalloc_die librecode_xalloc_die +# define xcalloc librecode_xcalloc +# define xmalloc librecode_xmalloc +# define xmemdup librecode_xmemdup +# define xnmalloc librecode_xnmalloc +# define xnrealloc librecode_xnrealloc +# define xrealloc librecode_xrealloc +# define xstrdup librecode_xstrdup +# define xzalloc librecode_xzalloc + +#endif /* ! CLEANER_H_ */ diff --git a/src/ChangeLog b/src/ChangeLog index 59b9d3d..2e651db 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2008-03-16 François Pinard + + * recodext.h.in: New name for recodext.h. + * Makefile.am (recodext.h): New goal. + 2008-03-14 François Pinard * main.c: Inhibit iconv whenever -h is used. diff --git a/src/Makefile.am b/src/Makefile.am index 1f6f1ab..e299577 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -27,7 +27,9 @@ noinst_HEADERS = argmatch.h charname.h common.h decsteps.h exit.h exitfail.h \ fr-charname.h hash.h inisteps.h iconvdecl.h quotearg.h rfc1345.h tersteps.h \ xalloc.h $(H_FALLBACKS) $(H_SURFACES) -EXTRA_DIST = stamp-steps stamp-strip $(L_STEPS) mergelex.py $(MANS) +EXTRA_DIST = recodext.h.in stamp-steps stamp-strip \ +$(L_STEPS) mergelex.py $(MANS) + CLEANFILES = iconvdecl.h C_STEPS = african.c afrtran.c applemac.c atarist.c bangbang.c cdcnos.c \ @@ -98,6 +100,9 @@ $(srcdir)/recode.1: recode echo " but you may safely and merely ignore this error."; \ fi +$(srcdir)/recodext.h: $(top_srcdir)/cleaner.h.in $(srcdir)/recodext.h.in + cat $(top_srcdir)/cleaner.h.in $(srcdir)/recodext.h.in > $@ + main.o: main.c ../config.status charname$U.lo: rfc1345.h @@ -144,4 +149,3 @@ strip-pool.c strip-data.c: stamp-strip stamp-strip: ../tables.py $(MNEMONICS_DS) $(CHARSETS_DEF) $(TABLES_PY) -C $(srcdir) -p $(MNEMONICS_DS) $(CHARSETS_DEF) echo timestamp > $(srcdir)/$@ - diff --git a/src/Makefile.in b/src/Makefile.in index 690019b..a8695ad 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -270,7 +270,9 @@ noinst_HEADERS = argmatch.h charname.h common.h decsteps.h exit.h exitfail.h \ fr-charname.h hash.h inisteps.h iconvdecl.h quotearg.h rfc1345.h tersteps.h \ xalloc.h $(H_FALLBACKS) $(H_SURFACES) -EXTRA_DIST = stamp-steps stamp-strip $(L_STEPS) mergelex.py $(MANS) +EXTRA_DIST = recodext.h.in stamp-steps stamp-strip \ +$(L_STEPS) mergelex.py $(MANS) + CLEANFILES = iconvdecl.h C_STEPS = african.c afrtran.c applemac.c atarist.c bangbang.c cdcnos.c \ ebcdic.c ibmpc.c iconqnx.c lat1asci.c java.c mule.c strip-data.c \ @@ -914,6 +916,9 @@ $(srcdir)/recode.1: recode echo " but you may safely and merely ignore this error."; \ fi +$(srcdir)/recodext.h: $(top_srcdir)/cleaner.h.in $(srcdir)/recodext.h.in + cat $(top_srcdir)/cleaner.h.in $(srcdir)/recodext.h.in > $@ + main.o: main.c ../config.status charname$U.lo: rfc1345.h diff --git a/src/recodext.h b/src/recodext.h index 84308fc..8533799 100644 --- a/src/recodext.h +++ b/src/recodext.h @@ -1,3 +1,192 @@ +/* Conversion of files between different charsets and surfaces. + Copyright © 2008 Free Software Foundation, Inc. + Contributed by François Pinard , 2008. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License + as published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + This library is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the implied warranty + of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the Recode Library; see the file `COPYING.LIB'. + If not, write to the Free Software Foundation, Inc., 59 Temple Place - + Suite 330, Boston, MA 02111-1307, USA. */ + +/* Definitions to clean up the linker namespace. */ + +#ifndef CLEANER_H_ +# define CLEANER_H_ + +# define __xargmatch_internal librecode_xargmatch_internal +# define aliases_lookup librecode_aliases_lookup +# define argcasematch librecode_argcasematch +# define argmatch librecode_argmatch +# define argmatch_invalid librecode_argmatch_invalid +# define argmatch_to_argument librecode_argmatch_to_argument +# define argmatch_valid librecode_argmatch_valid +# define clone_quoting_options librecode_clone_quoting_options +# define code_to_ucs2 librecode_code_to_ucs2 +# define combine_byte_byte librecode_combine_byte_byte +# define combine_byte_ucs2 librecode_combine_byte_ucs2 +# define combine_ucs2_byte librecode_combine_ucs2_byte +# define combine_ucs2_ucs2 librecode_combine_ucs2_ucs2 +# define complete_pairs librecode_complete_pairs +# define declare_alias librecode_declare_alias +# define declare_explode_data librecode_declare_explode_data +# define declare_iconv librecode_declare_iconv +# define declare_implied_surface librecode_declare_implied_surface +# define declare_single librecode_declare_single +# define declare_strip_data librecode_declare_strip_data +# define decode_known_pairs librecode_decode_known_pairs +# define delmodule_african librecode_delmodule_african +# define delmodule_afrtran librecode_delmodule_afrtran +# define delmodule_applemac librecode_delmodule_applemac +# define delmodule_ascii_latin1 librecode_delmodule_ascii_latin1 +# define delmodule_atarist librecode_delmodule_atarist +# define delmodule_bangbang librecode_delmodule_bangbang +# define delmodule_base64 librecode_delmodule_base64 +# define delmodule_cdcnos librecode_delmodule_cdcnos +# define delmodule_dump librecode_delmodule_dump +# define delmodule_ebcdic librecode_delmodule_ebcdic +# define delmodule_endline librecode_delmodule_endline +# define delmodule_flat librecode_delmodule_flat +# define delmodule_html librecode_delmodule_html +# define delmodule_ibmpc librecode_delmodule_ibmpc +# define delmodule_iconqnx librecode_delmodule_iconqnx +# define delmodule_iconv librecode_delmodule_iconv +# define delmodule_latex_latin1 librecode_delmodule_latex_latin1 +# define delmodule_latin1_ascii librecode_delmodule_latin1_ascii +# define delmodule_latin1_latex librecode_delmodule_latin1_latex +# define delmodule_latin1_texte librecode_delmodule_latin1_texte +# define delmodule_mule librecode_delmodule_mule +# define delmodule_permutations librecode_delmodule_permutations +# define delmodule_quoted_printable librecode_delmodule_quoted_printable +# define delmodule_rfc1345 librecode_delmodule_rfc1345 +# define delmodule_strips librecode_delmodule_strips +# define delmodule_testdump librecode_delmodule_testdump +# define delmodule_texinfo librecode_delmodule_texinfo +# define delmodule_texte_latin1 librecode_delmodule_texte_latin1 +# define delmodule_ucs librecode_delmodule_ucs +# define delmodule_utf16 librecode_delmodule_utf16 +# define delmodule_utf7 librecode_delmodule_utf7 +# define delmodule_utf8 librecode_delmodule_utf8 +# define delmodule_varia librecode_delmodule_varia +# define delmodule_vietnamese librecode_delmodule_vietnamese +# define edit_sequence librecode_edit_sequence +# define explode_byte_byte librecode_explode_byte_byte +# define explode_byte_ucs2 librecode_explode_byte_ucs2 +# define explode_ucs2_byte librecode_explode_ucs2_byte +# define explode_ucs2_ucs2 librecode_explode_ucs2_ucs2 +# define find_alias librecode_find_alias +# define find_and_report_subsets librecode_find_and_report_subsets +# define get_byte_helper librecode_get_byte_helper +# define get_quoting_style librecode_get_quoting_style +# define get_ucs2 librecode_get_ucs2 +# define get_ucs4 librecode_get_ucs4 +# define hash_clear librecode_hash_clear +# define hash_delete librecode_hash_delete +# define hash_do_for_each librecode_hash_do_for_each +# define hash_free librecode_hash_free +# define hash_get_entries librecode_hash_get_entries +# define hash_get_first librecode_hash_get_first +# define hash_get_max_bucket_length librecode_hash_get_max_bucket_length +# define hash_get_n_buckets librecode_hash_get_n_buckets +# define hash_get_n_buckets_used librecode_hash_get_n_buckets_used +# define hash_get_n_entries librecode_hash_get_n_entries +# define hash_get_next librecode_hash_get_next +# define hash_initialize librecode_hash_initialize +# define hash_insert librecode_hash_insert +# define hash_lookup librecode_hash_lookup +# define hash_print_statistics librecode_hash_print_statistics +# define hash_rehash librecode_hash_rehash +# define hash_reset_tuning librecode_hash_reset_tuning +# define hash_string librecode_hash_string +# define hash_table_ok librecode_hash_table_ok +# define init_combine librecode_init_combine +# define init_explode librecode_init_explode +# define init_ucs2_to_byte librecode_init_ucs2_to_byte +# define invert_table librecode_invert_table +# define list_all_symbols librecode_list_all_symbols +# define list_concise_charset librecode_list_concise_charset +# define list_full_charset librecode_list_full_charset +# define locale_charset librecode_locale_charset +# define make_argmatch_arrays librecode_make_argmatch_arrays +# define module_african librecode_module_african +# define module_afrtran librecode_module_afrtran +# define module_applemac librecode_module_applemac +# define module_ascii_latin1 librecode_module_ascii_latin1 +# define module_atarist librecode_module_atarist +# define module_bangbang librecode_module_bangbang +# define module_base64 librecode_module_base64 +# define module_cdcnos librecode_module_cdcnos +# define module_dump librecode_module_dump +# define module_ebcdic librecode_module_ebcdic +# define module_endline librecode_module_endline +# define module_flat librecode_module_flat +# define module_html librecode_module_html +# define module_ibmpc librecode_module_ibmpc +# define module_iconqnx librecode_module_iconqnx +# define module_iconv librecode_module_iconv +# define module_latex_latin1 librecode_module_latex_latin1 +# define module_latin1_ascii librecode_module_latin1_ascii +# define module_latin1_latex librecode_module_latin1_latex +# define module_latin1_texte librecode_module_latin1_texte +# define module_mule librecode_module_mule +# define module_permutations librecode_module_permutations +# define module_quoted_printable librecode_module_quoted_printable +# define module_rfc1345 librecode_module_rfc1345 +# define module_strips librecode_module_strips +# define module_testdump librecode_module_testdump +# define module_texinfo librecode_module_texinfo +# define module_texte_latin1 librecode_module_texte_latin1 +# define module_ucs librecode_module_ucs +# define module_utf16 librecode_module_utf16 +# define module_utf7 librecode_module_utf7 +# define module_utf8 librecode_module_utf8 +# define module_varia librecode_module_varia +# define module_vietnamese librecode_module_vietnamese +# define prepare_for_aliases librecode_prepare_for_aliases +# define put_byte_helper librecode_put_byte_helper +# define put_ucs2 librecode_put_ucs2 +# define put_ucs4 librecode_put_ucs4 +# define quotearg librecode_quotearg +# define quotearg_buffer librecode_quotearg_buffer +# define quotearg_char librecode_quotearg_char +# define quotearg_colon librecode_quotearg_colon +# define quotearg_n librecode_quotearg_n +# define quotearg_n_style librecode_quotearg_n_style +# define quotearg_style librecode_quotearg_style +# define reversibility librecode_reversibility +# define set_char_quoting librecode_set_char_quoting +# define set_quoting_style librecode_set_quoting_style +# define should_prefer_french librecode_should_prefer_french +# define texte_latin1_diaeresis librecode_texte_latin1_diaeresis +# define transform_byte_to_byte librecode_transform_byte_to_byte +# define transform_byte_to_ucs2 librecode_transform_byte_to_ucs2 +# define transform_byte_to_variable librecode_transform_byte_to_variable +# define transform_ucs2_to_byte librecode_transform_ucs2_to_byte +# define transform_with_iconv librecode_transform_with_iconv +# define ucs2_to_charname librecode_ucs2_to_charname +# define ucs2_to_french_charname librecode_ucs2_to_french_charname +# define ucs2_to_rfc1345 librecode_ucs2_to_rfc1345 +# define x2nrealloc librecode_x2nrealloc +# define x2realloc librecode_x2realloc +# define xalloc_die librecode_xalloc_die +# define xcalloc librecode_xcalloc +# define xmalloc librecode_xmalloc +# define xmemdup librecode_xmemdup +# define xnmalloc librecode_xnmalloc +# define xnrealloc librecode_xnrealloc +# define xrealloc librecode_xrealloc +# define xstrdup librecode_xstrdup +# define xzalloc librecode_xzalloc + +#endif /* ! CLEANER_H_ */ /* Conversion of files between different charsets and surfaces. Copyright © 1990, 93, 94, 96-99, 2000, 2001 Free Software Foundation, Inc. Contributed by François Pinard , 1988. diff --git a/src/recodext.h.in b/src/recodext.h.in new file mode 100644 index 0000000..84308fc --- /dev/null +++ b/src/recodext.h.in @@ -0,0 +1,774 @@ +/* Conversion of files between different charsets and surfaces. + Copyright © 1990, 93, 94, 96-99, 2000, 2001 Free Software Foundation, Inc. + Contributed by François Pinard , 1988. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License + as published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + This library is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the implied warranty + of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the Recode Library; see the file `COPYING.LIB'. + If not, write to the Free Software Foundation, Inc., 59 Temple Place - + Suite 330, Boston, MA 02111-1307, USA. */ + +/* Extended definitions, for externally written steps. */ + +#include "recode.h" + +/* Internal typedefs, to supplement those in "recode.h". */ + +typedef struct recode_symbol * RECODE_SYMBOL; +typedef struct recode_option_list * RECODE_OPTION_LIST; +typedef struct recode_single * RECODE_SINGLE; +typedef struct recode_step * RECODE_STEP; +typedef struct recode_alias * RECODE_ALIAS; +typedef struct recode_subtask * RECODE_SUBTASK; + +typedef const struct recode_option_list * RECODE_CONST_OPTION_LIST; +typedef const struct recode_outer * RECODE_CONST_OUTER; +typedef const struct recode_step * RECODE_CONST_STEP; +typedef const struct recode_alias * RECODE_CONST_ALIAS; +typedef const struct recode_task * RECODE_CONST_TASK; + +/*---------------------------------------------------------. +| Maintain maximum of ERROR and current error in SUBTASK. | +`---------------------------------------------------------*/ + +#define SET_SUBTASK_ERROR(Error, Subtask) \ + recode_if_nogo (Error, Subtask) + +/*--------------------------------------------------------------------------. +| Return from SUBTASK with `false', if the failure level has been reached. | +`--------------------------------------------------------------------------*/ + +#define SUBTASK_RETURN(Subtask) \ + return (Subtask)->task->error_so_far < (Subtask)->task->fail_level + +/*-------------------------------------------------------------------------. +| Maintain maximum of ERROR and current error in SUBTASK. If the abort | +| level has been reached, then return immediately as with SUBTASK_RETURN. | +`-------------------------------------------------------------------------*/ + +#define RETURN_IF_NOGO(Error, Subtask) \ + do { \ + if (recode_if_nogo (Error, Subtask)) \ + SUBTASK_RETURN (Subtask); \ + } while (false) + +/* Various structure declarations. */ + +/*-----------------------------------------. +| Outer variables for the recode library. | +`-----------------------------------------*/ + +/* Error codes, in increasing severity. */ + +enum recode_error + { + RECODE_NO_ERROR, /* no error so far */ + RECODE_NOT_CANONICAL, /* input is not exact, but equivalent */ + RECODE_AMBIGUOUS_OUTPUT, /* output will be misleading */ + RECODE_UNTRANSLATABLE, /* input is getting lost, while valid */ + RECODE_INVALID_INPUT, /* input is getting lost, but was invalid */ + RECODE_SYSTEM_ERROR, /* system returned input/output failure */ + RECODE_USER_ERROR, /* library is being misused */ + RECODE_INTERNAL_ERROR, /* programming botch in the library */ + RECODE_MAXIMUM_ERROR /* impossible value (should be kept last) */ + }; + +/* Structure for relating alias names to charsets and surfaces. */ + +struct recode_alias + { + const char *name; /* charset, surface or alias name */ + RECODE_SYMBOL symbol; /* associated symbol */ + /* If a charset, list of surfaces usually applied by default. */ + struct recode_surface_list *implied_surfaces; + }; + +/* The sole purpose of qualities is for later attributing step costs. */ + +enum recode_size + { + RECODE_1, /* roughly one byte per character */ + RECODE_2, /* roughly two bytes per character */ + RECODE_4, /* roughly four bytes per character */ + RECODE_N /* variable number of bytes per character */ + }; + +struct recode_quality + { + enum recode_size in_size : 3; /* rough byte size of input characters */ + enum recode_size out_size : 3; /* rough byte size of output characters */ + bool reversible : 1; /* transformation is known to be reversible */ + bool slower : 1; /* transformation is slower than average */ + bool faster : 1; /* transformation is faster than average */ + }; + +/* Main variables of the initialised library. */ + +struct recode_outer + { + /* This flag asks the library to diagnose and abort itself if errors. */ + bool auto_abort; + + /* If the external `iconv' library should be initialized and used. */ + bool use_iconv; + + /* charset.c */ + /* --------- */ + + /* Known pairs (for restricting listing). */ + struct recode_known_pair *pair_restriction; + unsigned pair_restrictions; + + /* Opaque Hash_table pointer giving access to the single table holding all + names and aliases for charsets, surfaces and fallback methods. */ + void *alias_table; + + /* Unique symbols are linked into a list and counted. */ + RECODE_SYMBOL symbol_list; + unsigned number_of_symbols; + + /* Arrays of strings ready for argmatch. */ + char **argmatch_charset_array; + char **argmatch_surface_array; + const char **realname_charset_array; + const char **realname_surface_array; + + /* recode.c */ + /* -------- */ + + /* Known single steps. */ + struct recode_single *single_list; + unsigned number_of_singles; + + /* Identity recoding table. */ + const unsigned char *one_to_same; + + /* Preset charsets and surfaces. */ + RECODE_SYMBOL data_symbol;/* special charset defining surfaces */ + RECODE_SYMBOL tree_symbol; /* special charset defining structures */ + RECODE_SYMBOL ucs2_charset; /* UCS-2 */ + RECODE_SYMBOL iconv_pivot; /* `iconv' internal UCS */ + RECODE_SYMBOL crlf_surface; /* for IBM PC machines */ + RECODE_SYMBOL cr_surface; /* for Macintosh machines */ + + /* Preset qualities, to make step initialisation simpler. */ + struct recode_quality quality_byte_reversible; + struct recode_quality quality_byte_to_byte; + struct recode_quality quality_byte_to_ucs2; + struct recode_quality quality_byte_to_variable; + struct recode_quality quality_ucs2_to_byte; + struct recode_quality quality_ucs2_to_variable; + struct recode_quality quality_variable_to_byte; + struct recode_quality quality_variable_to_ucs2; + struct recode_quality quality_variable_to_variable; + }; + +/*--------------------------. +| Description of a symbol. | +`--------------------------*/ + +enum recode_symbol_type + { + RECODE_NO_SYMBOL_TYPE, /* missing value */ + RECODE_CHARSET, /* visible in the space of charsets */ + RECODE_DATA_SURFACE, /* this is a mere data surface */ + RECODE_TREE_SURFACE /* this is a structural surface */ + }; + +enum recode_data_type + { + RECODE_NO_CHARSET_DATA, /* the charset_table field is unused */ + RECODE_STRIP_DATA, /* pool pointer and array of strips */ + RECODE_EXPLODE_DATA /* explode variable length data */ + }; + +struct recode_symbol + { + /* Chaining of all known symbols (charsets and surfaces). */ + RECODE_SYMBOL next; + + /* Unique ordinal for this symbol, counted from zero. */ + unsigned ordinal; + + /* Main name. */ + const char *name; + + /* Name to use for the iconv library, or NULL. */ + const char *iconv_name; + + /* Type of table. */ + enum recode_data_type data_type; + + /* Recoding table. */ + void *data; + + /* Step for data..CHARSET transformation, if any, or NULL. */ + struct recode_single *resurfacer; + + /* Step for CHARSET..data transformation, if any, or NULL. */ + struct recode_single *unsurfacer; + + /* Non zero if this is an acceptable charset (not only a surface). */ + enum recode_symbol_type type : 3; + + /* Non zero if this one should be ignored. */ + bool ignore : 1; + }; + +struct recode_surface_list + { + RECODE_CONST_SYMBOL surface; + struct recode_surface_list *next; + }; + +/*-------------------------------------------. +| Description of a single step of recoding. | +`-------------------------------------------*/ + +typedef bool (*Recode_init) PARAMS ((RECODE_STEP, RECODE_CONST_REQUEST, + RECODE_CONST_OPTION_LIST, + RECODE_CONST_OPTION_LIST)); +typedef bool (*Recode_term) PARAMS ((RECODE_STEP, RECODE_CONST_REQUEST)); +typedef bool (*Recode_transform) PARAMS ((RECODE_SUBTASK)); +typedef bool (*Recode_fallback) PARAMS ((RECODE_SUBTASK, unsigned)); + +/* The `single' structure holds data needed to decide of sequences, and is + invariant over actual requests. The `step' structure holds data needed for + task execution, it may take care of fallback and option variance. */ + +struct recode_single + { + /* Chaining of all known single steps. */ + struct recode_single *next; + + /* Charset before conversion. */ + RECODE_SYMBOL before; + + /* Charset after conversion. */ + RECODE_SYMBOL after; + + /* Cost for this single step only. */ + short conversion_cost; + + /* Initial value for step_table. */ + void *initial_step_table; + + /* Recoding quality. */ + struct recode_quality quality; + + /* Initialisation handler, to be called before step optimisation. */ + Recode_init init_routine; + + /* Transformation handler, for doing the actual recoding work. */ + Recode_transform transform_routine; + + /* Default fallback for the step. Merely to implement `-s' option. */ + Recode_fallback fallback_routine; + }; + +enum recode_step_type + { + RECODE_NO_STEP_TABLE, /* the step_table field is unused */ + RECODE_BYTE_TO_BYTE, /* array of 256 bytes */ + RECODE_BYTE_TO_STRING, /* array of 256 strings */ + RECODE_UCS2_TO_BYTE, /* hash from ucs2 to byte */ + RECODE_UCS2_TO_STRING, /* hash from ucs2 to string */ + RECODE_STRING_TO_UCS2, /* hash from ucs2 to string, reversed */ + RECODE_COMBINE_EXPLODE, /* raw data for combining or exploding */ + RECODE_COMBINE_STEP, /* special hash for combining */ + RECODE_EXPLODE_STEP /* special hash for exploding */ + }; + +struct recode_step + { + /* Charset before conversion. */ + RECODE_SYMBOL before; + + /* Charset after conversion. */ + RECODE_SYMBOL after; + + /* Recoding quality. */ + struct recode_quality quality; + + /* Type of table. */ + enum recode_step_type step_type; + + /* Recoding table. */ + void *step_table; + + /* Step specific variables. */ + void *local; + + /* Transformation handler, for doing the actual recoding work. */ + Recode_transform transform_routine; + + /* Fallback for the step. */ + Recode_fallback fallback_routine; + + /* Cleanup handler, to be called after the recoding is done. */ + Recode_term term_routine; + }; + +struct recode_option_list + { + const char *option; + RECODE_OPTION_LIST next; + }; + +/*------------------------------------------------------------------------. +| A recoding request holds, among other things, a selected path among the | +| available recoding steps, it so represents a kind of recoding plan. | +`------------------------------------------------------------------------*/ + +struct recode_request + { + /* A request is always associated with a recoding system. */ + RECODE_OUTER outer; + + /* By setting the following flag, the program will echo to stderr the + sequence of elementary recoding steps needed to achieve the requested + recoding. */ + bool verbose_flag : 1; + + /* In `texte' charset, some countries use double quotes to mark diaeresis, + while some other prefer colons. This field contains the diaeresis + character for `texte' charset. Nominally set to a double quote, it can + be forced to a colon. Those are the only two acceptable values. */ + char diaeresis_char; + + /* If producing a recoding table in source form, there will be no actual + recoding done, and consequently, the optimisation of step sequence can + be attempted more aggressively. If the step sequence cannot be reduced + to a single step, table production will fail. */ + bool make_header_flag : 1; + + /* For `latex' charset, it is often convenient to recode the diacritics + only, while letting other LaTeX code using backslashes unrecoded. In + the other charset, one can edit text as well as LaTeX directives. */ + bool diacritics_only : 1; + + /* For `ibmpc' charset, characters 176 to 223 are use to draw boxes. If + this field is set, while getting out of `ibmpc', ASCII characters are + selected so to approximate these boxes. */ + bool ascii_graphics : 1; + + /* Array stating the sequence of conversions. */ + RECODE_STEP sequence_array; + size_t sequence_allocated; + short sequence_length; + + /* Internal variables used while scanning request text. */ + char *work_string; /* buffer space for generated work strings */ + size_t work_string_length; /* length of work_string */ + size_t work_string_allocated; /* allocated length of work_string */ + const char *scan_cursor; /* next character to be seen */ + char *scanned_string; /* buffer space to scan strings */ + }; + +/*--------------------------------------------------------------------. +| A recoding text is either an external file or an in memory buffer. | +`--------------------------------------------------------------------*/ + +/* While the recoding is going on, FILE being non-NULL has precedence over + BUFFER. Moreover, if NAME is not NULL at start of recoding, this is + interpreted as a request for the library to open the named file, either + in read or write mode, and also to close it afterwards. Standard input + or output is denoted by NAME being non-NULL, but otherwise empty. + + If FILE is NULL in input mode, the in-memory read-only text extends from + BUFFER to LIMIT. There is no clue about if the buffer has been allocated + bigger. When CURSOR reaches LIMIT, there is no more data to get. If + FILE is NULL in output mode, the in-memory text extends from BUFFER to + CURSOR, but the buffer has been allocated until LIMIT. When CURSOR + reaches LIMIT, the buffer should be reallocated bigger, as needed. */ + +struct recode_read_only_text + { + const char *name; + FILE *file; + const char *buffer; + const char *cursor; + const char *limit; + }; + +struct recode_read_write_text + { + const char *name; + FILE *file; + char *buffer; + char *cursor; + char *limit; + }; + +/* Tells how various passes are interconnected. */ + +enum recode_sequence_strategy + { + RECODE_STRATEGY_UNDECIDED, /* sequencing strategy is undecided yet */ + RECODE_SEQUENCE_IN_MEMORY, /* keep intermediate recodings in memory */ + RECODE_SEQUENCE_WITH_FILES, /* do not fork, use intermediate files */ + RECODE_SEQUENCE_WITH_PIPE /* fork processes connected with `pipe(2)' */ + }; + +/* Tells how to swap the incoming pair of bytes, while reading UCS-2. */ + +enum recode_swap_input + { + RECODE_SWAP_UNDECIDED, /* the text has not been read yet */ + RECODE_SWAP_NO, /* no need to swap pair of bytes */ + RECODE_SWAP_YES /* should swap incoming pair of bytes */ + }; + +/*--------------------------------------------------------------------------. +| A recoding subtask associates a particular recoding step to a given input | +| text, for producing a corresponding output text. It also holds error | +| related statistics for the execution of that step. | +`--------------------------------------------------------------------------*/ + +struct recode_subtask + { + /* Task for which this subtask is an element. */ + RECODE_TASK task; + + /* Step being executed by this subtask. */ + RECODE_CONST_STEP step; + + /* Current input and output. */ + struct recode_read_only_text input; + struct recode_read_write_text output; + + /* Line count and character count in last line, both zero-based. */ + unsigned newline_count; + unsigned character_count; + }; + +#define GOT_CHARACTER(Subtask) \ + ((Subtask)->character_count++) + +#define GOT_NEWLINE(Subtask) \ + ((Subtask)->newline_count++, (Subtask)->character_count = 0) + +/*--------------------------------------------------------------------------. +| A recoding task associates a sequence of steps to a given input text, for | +| producing a corresponding output text. It holds an array of subtasks. | +`--------------------------------------------------------------------------*/ + +struct recode_task + { + /* Associated request. */ + RECODE_CONST_REQUEST request; + + /* Initial input and final output. */ + struct recode_read_only_text input; + struct recode_read_write_text output; + + /* Tells how various recoding steps (passes) will be interconnected. */ + enum recode_sequence_strategy strategy : 3; + + /* Produce a byte order mark on UCS-2 output, insist for it on input. */ + bool byte_order_mark : 1; + + /* The input UCS-2 stream might have bytes swapped (status variable). */ + enum recode_swap_input swap_input : 3; + + /* Error processing. */ + /* ----------------- */ + + /* At this level, there will be failure. */ + enum recode_error fail_level : 5; + + /* At this level, task should be interrupted. */ + enum recode_error abort_level : 5; + + /* Maximum error level met so far (status variable). */ + enum recode_error error_so_far : 5; + + /* Step being executed when error_so_far was last set. */ + RECODE_CONST_STEP error_at_step; + }; + +/* Specialities for some function arguments. */ + +/* For restricting charset lists. */ + +struct recode_known_pair + { + unsigned char left; /* first character in pair */ + unsigned char right; /* second character in pair */ + }; + +/*----------------------. +| Various definitions. | +`----------------------*/ + +typedef unsigned short recode_ucs2; + +/* Double tables are generated as arrays of indices into a pool of strips, + each strip holds STRIP_SIZE UCS-2 characters. Some memory is saved by + not allowing duplicate strips in the pool. A smaller strip size yields + more duplicates and so, a smaller pool, but then, tables get longer + because more strip indices are needed for each table. It is difficult to + predict the optimal strip size. Tests made on 1997-09-22 showed that a + strip size of 4 needs 27808 bytes total, 8 needs 22656, 16 needs 23584 + and 32 needs 25568, so we decided to stick to a strip size of 8. Change + $STRIP_SIZE in `doc/tables.pl' if you change the value here. */ + +/* "Are we speaking slips, strips or bars?" (of gold press'latinum :-) */ +#define STRIP_SIZE 8 + +/* An struct strip_data is a pointer to a pool of strips, and an array + of 256/STRIP_SIZE offsets for the start of strips into the pool, each strip + describes STRIP_SIZE UCS-2 characters. A missing character in a strip is + indicated by all 16 bits set. */ +struct strip_data + { + const recode_ucs2 *pool; + const short offset[256 / STRIP_SIZE]; + }; + +struct ucs2_to_byte + { + recode_ucs2 code; /* UCS-2 value */ + unsigned char byte; /* corresponding byte */ + }; + +struct ucs2_to_string + { + recode_ucs2 code; /* UCS-2 value */ + unsigned short flags; /* various flags */ + const char *string; /* corresponding string */ + }; + +/* Per module declarations. */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* recode.c. */ + +#define ALLOC_SIZE(Variable, Size, Type) \ + (Variable = (Type *) recode_malloc (outer, (Size)), Variable) + +#define ALLOC(Variable, Count, Type) \ + ALLOC_SIZE (Variable, (Count) * sizeof (Type), Type) + +#define REALLOC(Variable, Count, Type) \ + (Variable = (Type *) recode_realloc (outer, Variable, \ + (Count) * sizeof(Type)), \ + Variable) + +void recode_error PARAMS ((RECODE_OUTER, const char *, ...)); +void recode_perror PARAMS ((RECODE_OUTER, const char *, ...)); +void *recode_malloc PARAMS ((RECODE_OUTER, size_t)); +void *recode_realloc PARAMS ((RECODE_OUTER, void *, size_t)); + +unsigned char *invert_table PARAMS ((RECODE_OUTER, const unsigned char *)); +bool complete_pairs PARAMS ((RECODE_OUTER, RECODE_STEP, + const struct recode_known_pair *, unsigned, + bool, bool)); +bool transform_byte_to_ucs2 PARAMS ((RECODE_SUBTASK)); +bool init_ucs2_to_byte PARAMS ((RECODE_STEP, RECODE_CONST_REQUEST, + RECODE_CONST_OPTION_LIST, + RECODE_CONST_OPTION_LIST)); +bool transform_ucs2_to_byte PARAMS ((RECODE_SUBTASK)); + +/* charname.c and fr-charname.c. */ + +const char *ucs2_to_charname PARAMS ((int)); +const char *ucs2_to_french_charname PARAMS ((int)); + +/* charset.c. */ + +enum alias_find_type +{ + SYMBOL_CREATE_CHARSET, /* charset as given, create as needed */ + SYMBOL_CREATE_DATA_SURFACE, /* data surface as given, create as needed */ + SYMBOL_CREATE_TREE_SURFACE, /* tree surface as given, create as needed */ + ALIAS_FIND_AS_CHARSET, /* disambiguate only as a charset */ + ALIAS_FIND_AS_SURFACE, /* disambiguate only as a surface */ + ALIAS_FIND_AS_EITHER /* disambiguate as a charset or a surface */ +}; + +int code_to_ucs2 (RECODE_CONST_SYMBOL, unsigned); +bool prepare_for_aliases PARAMS ((RECODE_OUTER)); +RECODE_ALIAS declare_alias PARAMS ((RECODE_OUTER, + const char *, const char *)); +bool declare_implied_surface PARAMS ((RECODE_OUTER, RECODE_ALIAS, + RECODE_CONST_SYMBOL)); +bool make_argmatch_arrays PARAMS ((RECODE_OUTER)); +RECODE_ALIAS find_alias PARAMS ((RECODE_OUTER, const char *, + enum alias_find_type)); +bool find_and_report_subsets PARAMS ((RECODE_OUTER)); +bool decode_known_pairs PARAMS ((RECODE_OUTER, const char *)); + +/* combine.c. */ + +#define DONE NOT_A_CHARACTER +#define ELSE BYTE_ORDER_MARK_SWAPPED + +bool init_explode PARAMS ((RECODE_STEP, RECODE_CONST_REQUEST, + RECODE_CONST_OPTION_LIST, + RECODE_CONST_OPTION_LIST)); +bool explode_byte_byte PARAMS ((RECODE_SUBTASK)); +bool explode_ucs2_byte PARAMS ((RECODE_SUBTASK)); +bool explode_byte_ucs2 PARAMS ((RECODE_SUBTASK)); +bool explode_ucs2_ucs2 PARAMS ((RECODE_SUBTASK)); + +bool init_combine PARAMS ((RECODE_STEP, RECODE_CONST_REQUEST, + RECODE_CONST_OPTION_LIST, + RECODE_CONST_OPTION_LIST)); +bool combine_byte_byte PARAMS ((RECODE_SUBTASK)); +bool combine_ucs2_byte PARAMS ((RECODE_SUBTASK)); +bool combine_byte_ucs2 PARAMS ((RECODE_SUBTASK)); +bool combine_ucs2_ucs2 PARAMS ((RECODE_SUBTASK)); + +/* freeze.c. */ + +void recode_freeze_tables PARAMS ((RECODE_OUTER)); + +/* iconv.c. */ + +bool transform_with_iconv PARAMS ((RECODE_SUBTASK)); + +/* localcharset.c. */ + +const char *locale_charset PARAMS ((void)); + +/* names.c. */ + +bool should_prefer_french PARAMS ((void)); + +/* mixed.c. */ + +bool transform_c_source PARAMS ((RECODE_TASK)); +bool transform_po_source PARAMS ((RECODE_TASK)); + +/* outer.c. */ + +bool reversibility PARAMS ((RECODE_SUBTASK, unsigned)); +RECODE_SINGLE declare_single + PARAMS ((RECODE_OUTER, const char *, const char *, + struct recode_quality, + bool (*) (RECODE_STEP, RECODE_CONST_REQUEST, + RECODE_CONST_OPTION_LIST, RECODE_CONST_OPTION_LIST), + bool (*) (RECODE_SUBTASK))); +bool declare_iconv PARAMS ((RECODE_OUTER, const char *, const char *)); +bool declare_explode_data PARAMS ((RECODE_OUTER, const unsigned short *, + const char *, const char *)); +bool declare_strip_data PARAMS ((RECODE_OUTER, struct strip_data *, + const char *)); + +/* pool.c. */ + +extern const recode_ucs2 ucs2_data_pool[]; + +/* request.c. */ + +char *edit_sequence PARAMS ((RECODE_REQUEST, bool)); + +/* rfc1345.c. */ + +const char *ucs2_to_rfc1345 PARAMS ((recode_ucs2)); + +/* task.c. */ + +#if USE_HELPERS || !INLINE_HARDER +int get_byte_helper PARAMS ((RECODE_SUBTASK)); +#endif +void put_byte_helper PARAMS ((int, RECODE_SUBTASK)); +bool recode_if_nogo PARAMS ((enum recode_error, RECODE_SUBTASK)); +bool transform_byte_to_byte PARAMS ((RECODE_SUBTASK)); +bool transform_byte_to_variable PARAMS ((RECODE_SUBTASK)); + +/* ucs.c. */ + +/* Replacement character for when correctly formed character has no + equivalent. It is not used for ill-formed characters, however. */ +#define REPLACEMENT_CHARACTER 0xFFFD + +/* Device for detecting if bytes are swapped. This value should appear first + in UCS-2 files. */ +#define BYTE_ORDER_MARK 0xFEFF +#define BYTE_ORDER_MARK_SWAPPED 0xFFFE + +/* Never an UCS-2 character. */ +#define NOT_A_CHARACTER 0xFFFF + +bool get_ucs2 PARAMS ((unsigned *, RECODE_SUBTASK)); +bool get_ucs4 PARAMS ((unsigned *, RECODE_SUBTASK)); +bool put_ucs2 PARAMS ((unsigned, RECODE_SUBTASK)); +bool put_ucs4 PARAMS ((unsigned, RECODE_SUBTASK)); + +#ifdef __cplusplus +} +#endif + +/* Global macros specifically for Recode. */ + +/* Giving a name to the ASCII character assigned to position 0. */ +#define NUL '\0' + +#ifdef FLEX_SCANNER +# if !INLINE_HARDER +# undef USE_HELPERS +# define USE_HELPERS 1 +# endif +#endif + +#if USE_HELPERS + +# define get_byte(Subtask) \ + get_byte_helper ((Subtask)) + +# define put_byte(Byte, Subtask) \ + put_byte_helper ((Byte), (Subtask)) + +#else /* not USE_HELPERS */ + +# define get_byte(Subtask) \ + ((Subtask)->input.file \ + ? getc ((Subtask)->input.file) \ + : (Subtask)->input.cursor == (Subtask)->input.limit \ + ? EOF \ + : (unsigned char) *(Subtask)->input.cursor++) + +# define put_byte(Byte, Subtask) \ + ((Subtask)->output.file \ + ? (putc ((char) (Byte), (Subtask)->output.file), 0) \ + : (Subtask)->output.cursor == (Subtask)->output.limit \ + ? (put_byte_helper ((int) (Byte), (Subtask)), 0) \ + : (*(Subtask)->output.cursor++ = (Byte), 0)) + +#endif /* not USE_HELPERS */ + +#ifdef FLEX_SCANNER + +# define PUT_NON_DIACRITIC_BYTE(Byte, Subtask) \ + if (request->diacritics_only) \ + ECHO; \ + else \ + put_byte ((Byte), (Subtask)) + +/* ECHO may not have a (Subtask) argument, because some ECHO without argument + is generated by Flex -- yet Vern tells me it won't happen if I inhibit + the rule about default copying. Happily enough, within Flex, Subtask is + `subtask' quite systematically, so it may be used as a constant, here. */ +# define ECHO \ + do { \ + const char *cursor = librecode_yytext; \ + int counter = librecode_yyleng; \ + for (; counter > 0; cursor++, counter--) \ + put_byte (*cursor, subtask); \ + } while (false) + +#endif /* FLEX_SCANNER */ diff --git a/tests/ChangeLog b/tests/ChangeLog index 71bfdc6..c22d114 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,7 @@ +2008-03-16 François Pinard + + * Recode.pyx: Simplify, now that cleaner.h gets included. + 2008-03-13 François Pinard * t40_java.py: New. diff --git a/tests/Recode.c b/tests/Recode.c index 70a7737..a3ecd33 100644 --- a/tests/Recode.c +++ b/tests/Recode.c @@ -1,4 +1,4 @@ -/* Generated by Pyrex 0.9.6.4 on Fri Mar 14 20:07:34 2008 */ +/* Generated by Pyrex 0.9.6.4 on Sun Mar 16 22:09:18 2008 */ #define PY_SSIZE_T_CLEAN #include "Python.h" @@ -167,19 +167,19 @@ static int __pyx_f_6Recode_5Outer___init__(PyObject *__pyx_v_self, PyObject *__p Py_INCREF(__pyx_v_iconv); Py_INCREF(__pyx_v_strict); - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":581 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":539 */ __pyx_v_flags = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":582 */ - __pyx_1 = PyObject_IsTrue(__pyx_v_auto_abort); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":540 */ + __pyx_1 = PyObject_IsTrue(__pyx_v_auto_abort); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; goto __pyx_L1;} if (__pyx_1) { __pyx_v_flags = (__pyx_v_flags | RECODE_AUTO_ABORT_FLAG); goto __pyx_L2; } __pyx_L2:; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":584 */ - __pyx_1 = PyObject_IsTrue(__pyx_v_iconv); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":542 */ + __pyx_1 = PyObject_IsTrue(__pyx_v_iconv); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; goto __pyx_L1;} __pyx_2 = (!__pyx_1); if (__pyx_2) { __pyx_v_flags = (__pyx_v_flags | RECODE_NO_ICONV_FLAG); @@ -187,25 +187,25 @@ static int __pyx_f_6Recode_5Outer___init__(PyObject *__pyx_v_self, PyObject *__p } __pyx_L3:; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":586 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":544 */ ((struct __pyx_obj_6Recode_Outer *)__pyx_v_self)->outer = recode_new_outer(__pyx_v_flags); - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":587 */ - __pyx_1 = PyObject_IsTrue(__pyx_v_strict); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":545 */ + __pyx_1 = PyObject_IsTrue(__pyx_v_strict); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; goto __pyx_L1;} if (__pyx_1) { - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":588 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":546 */ __pyx_v_single = ((struct __pyx_obj_6Recode_Outer *)__pyx_v_self)->outer->single_list; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":589 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":547 */ while (1) { __pyx_2 = (__pyx_v_single != NULL); if (!__pyx_2) break; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":590 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":548 */ __pyx_v_single->fallback_routine = NULL; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":591 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":549 */ __pyx_v_single = __pyx_v_single->next; } goto __pyx_L4; @@ -240,7 +240,7 @@ static PyObject *__pyx_f_6Recode_5Outer_default_charset(PyObject *__pyx_v_self, static char *__pyx_argnames[] = {0}; if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0; Py_INCREF(__pyx_v_self); - __pyx_1 = PyString_FromString(librecode_locale_charset()); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; goto __pyx_L1;} + __pyx_1 = PyString_FromString(locale_charset()); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; goto __pyx_L1;} __pyx_r = __pyx_1; __pyx_1 = 0; goto __pyx_L0; @@ -272,21 +272,21 @@ static PyObject *__pyx_f_6Recode_5Outer_all_charsets(PyObject *__pyx_v_self, PyO Py_INCREF(__pyx_v_self); __pyx_v_list = Py_None; Py_INCREF(Py_None); - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":600 */ - __pyx_1 = PyList_New(0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":558 */ + __pyx_1 = PyList_New(0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; goto __pyx_L1;} Py_DECREF(__pyx_v_list); __pyx_v_list = __pyx_1; __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":602 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":560 */ __pyx_v_symbol = ((struct __pyx_obj_6Recode_Outer *)__pyx_v_self)->outer->symbol_list; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":603 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":561 */ while (1) { __pyx_2 = (__pyx_v_symbol != NULL); if (!__pyx_2) break; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":604 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":562 */ __pyx_2 = (__pyx_v_symbol->type == RECODE_CHARSET); if (__pyx_2) { __pyx_2 = (__pyx_v_symbol != ((struct __pyx_obj_6Recode_Outer *)__pyx_v_self)->outer->iconv_pivot); @@ -298,12 +298,12 @@ static PyObject *__pyx_f_6Recode_5Outer_all_charsets(PyObject *__pyx_v_self, PyO } } if (__pyx_2) { - __pyx_1 = PyObject_GetAttr(__pyx_v_list, __pyx_n_append); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; goto __pyx_L1;} - __pyx_3 = PyString_FromString(__pyx_v_symbol->name); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; goto __pyx_L1;} - __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; goto __pyx_L1;} + __pyx_1 = PyObject_GetAttr(__pyx_v_list, __pyx_n_append); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; goto __pyx_L1;} + __pyx_3 = PyString_FromString(__pyx_v_symbol->name); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; goto __pyx_L1;} + __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3); __pyx_3 = 0; - __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; goto __pyx_L1;} + __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; @@ -311,11 +311,11 @@ static PyObject *__pyx_f_6Recode_5Outer_all_charsets(PyObject *__pyx_v_self, PyO } __pyx_L4:; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":609 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":567 */ __pyx_v_symbol = __pyx_v_symbol->next; } - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":610 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":568 */ Py_INCREF(__pyx_v_list); __pyx_r = __pyx_v_list; goto __pyx_L0; @@ -348,29 +348,29 @@ static PyObject *__pyx_f_6Recode_5Outer_all_surfaces(PyObject *__pyx_v_self, PyO Py_INCREF(__pyx_v_self); __pyx_v_list = Py_None; Py_INCREF(Py_None); - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":613 */ - __pyx_1 = PyList_New(0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":571 */ + __pyx_1 = PyList_New(0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; goto __pyx_L1;} Py_DECREF(__pyx_v_list); __pyx_v_list = __pyx_1; __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":615 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":573 */ __pyx_v_symbol = ((struct __pyx_obj_6Recode_Outer *)__pyx_v_self)->outer->symbol_list; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":616 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":574 */ while (1) { __pyx_2 = (__pyx_v_symbol != NULL); if (!__pyx_2) break; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":617 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":575 */ __pyx_2 = (__pyx_v_symbol->type != RECODE_CHARSET); if (__pyx_2) { - __pyx_1 = PyObject_GetAttr(__pyx_v_list, __pyx_n_append); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; goto __pyx_L1;} - __pyx_3 = PyString_FromString(__pyx_v_symbol->name); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; goto __pyx_L1;} - __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; goto __pyx_L1;} + __pyx_1 = PyObject_GetAttr(__pyx_v_list, __pyx_n_append); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; goto __pyx_L1;} + __pyx_3 = PyString_FromString(__pyx_v_symbol->name); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; goto __pyx_L1;} + __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3); __pyx_3 = 0; - __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; goto __pyx_L1;} + __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; @@ -378,11 +378,11 @@ static PyObject *__pyx_f_6Recode_5Outer_all_surfaces(PyObject *__pyx_v_self, PyO } __pyx_L4:; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":619 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":577 */ __pyx_v_symbol = __pyx_v_symbol->next; } - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":620 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":578 */ Py_INCREF(__pyx_v_list); __pyx_r = __pyx_v_list; goto __pyx_L0; @@ -417,21 +417,21 @@ static PyObject *__pyx_f_6Recode_5Outer_concise_charset(PyObject *__pyx_v_self, Py_INCREF(__pyx_v_format); __pyx_v_ok = Py_None; Py_INCREF(Py_None); - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":623 */ - __pyx_1 = ((enum recode_list_format)PyInt_AsLong(__pyx_v_format)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; goto __pyx_L1;} - __pyx_2 = PyInt_FromLong(librecode_list_concise_charset(((struct __pyx_obj_6Recode_Outer *)__pyx_v_self)->outer,NULL,__pyx_1)); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":581 */ + __pyx_1 = ((enum recode_list_format)PyInt_AsLong(__pyx_v_format)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; goto __pyx_L1;} + __pyx_2 = PyInt_FromLong(list_concise_charset(((struct __pyx_obj_6Recode_Outer *)__pyx_v_self)->outer,NULL,__pyx_1)); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; goto __pyx_L1;} Py_DECREF(__pyx_v_ok); __pyx_v_ok = __pyx_2; __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":624 */ - __pyx_3 = PyObject_IsTrue(__pyx_v_ok); if (__pyx_3 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":582 */ + __pyx_3 = PyObject_IsTrue(__pyx_v_ok); if (__pyx_3 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; goto __pyx_L1;} __pyx_4 = (!__pyx_3); if (__pyx_4) { - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_error); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; goto __pyx_L1;} + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_error); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; goto __pyx_L1;} __Pyx_Raise(__pyx_2, 0, 0); Py_DECREF(__pyx_2); __pyx_2 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; goto __pyx_L1;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; goto __pyx_L1;} goto __pyx_L2; } __pyx_L2:; @@ -461,20 +461,20 @@ static PyObject *__pyx_f_6Recode_5Outer_full_charset(PyObject *__pyx_v_self, PyO Py_INCREF(__pyx_v_self); __pyx_v_ok = Py_None; Py_INCREF(Py_None); - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":628 */ - __pyx_1 = PyInt_FromLong(librecode_list_full_charset(((struct __pyx_obj_6Recode_Outer *)__pyx_v_self)->outer,NULL)); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":586 */ + __pyx_1 = PyInt_FromLong(list_full_charset(((struct __pyx_obj_6Recode_Outer *)__pyx_v_self)->outer,NULL)); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; goto __pyx_L1;} Py_DECREF(__pyx_v_ok); __pyx_v_ok = __pyx_1; __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":629 */ - __pyx_2 = PyObject_IsTrue(__pyx_v_ok); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":587 */ + __pyx_2 = PyObject_IsTrue(__pyx_v_ok); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; goto __pyx_L1;} __pyx_3 = (!__pyx_2); if (__pyx_3) { - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_error); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; goto __pyx_L1;} + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_error); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; goto __pyx_L1;} __Pyx_Raise(__pyx_1, 0, 0); Py_DECREF(__pyx_1); __pyx_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; goto __pyx_L1;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; goto __pyx_L1;} goto __pyx_L2; } __pyx_L2:; @@ -508,34 +508,34 @@ static PyObject *__pyx_f_6Recode_5Outer_recode(PyObject *__pyx_v_self, PyObject Py_INCREF(__pyx_v_self); __pyx_v_request = Py_None; Py_INCREF(Py_None); - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":634 */ - __pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":592 */ + __pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; goto __pyx_L1;} Py_INCREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_self); - __pyx_2 = PyObject_CallObject(((PyObject*)__pyx_ptype_6Recode_Request), __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; goto __pyx_L1;} + __pyx_2 = PyObject_CallObject(((PyObject*)__pyx_ptype_6Recode_Request), __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_v_request); __pyx_v_request = __pyx_2; __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":635 */ - __pyx_1 = PyObject_GetAttr(__pyx_v_request, __pyx_n_scan); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; goto __pyx_L1;} - __pyx_2 = PyString_FromString(__pyx_v_command); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; goto __pyx_L1;} - __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":593 */ + __pyx_1 = PyObject_GetAttr(__pyx_v_request, __pyx_n_scan); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; goto __pyx_L1;} + __pyx_2 = PyString_FromString(__pyx_v_command); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; goto __pyx_L1;} + __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2); __pyx_2 = 0; - __pyx_2 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; goto __pyx_L1;} + __pyx_2 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":636 */ - __pyx_1 = PyObject_GetAttr(__pyx_v_request, __pyx_n_string); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; goto __pyx_L1;} - __pyx_3 = PyString_FromString(__pyx_v_input); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; goto __pyx_L1;} - __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":594 */ + __pyx_1 = PyObject_GetAttr(__pyx_v_request, __pyx_n_string); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; goto __pyx_L1;} + __pyx_3 = PyString_FromString(__pyx_v_input); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; goto __pyx_L1;} + __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_2, 0, __pyx_3); __pyx_3 = 0; - __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; goto __pyx_L1;} + __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_2); __pyx_2 = 0; __pyx_r = __pyx_3; @@ -564,7 +564,7 @@ static int __pyx_f_6Recode_7Request___init__(PyObject *__pyx_v_self, PyObject *_ if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_outer)) return -1; Py_INCREF(__pyx_v_self); Py_INCREF(__pyx_v_outer); - if (!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_outer), __pyx_ptype_6Recode_Outer, 1, "outer")) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; goto __pyx_L1;} + if (!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_outer), __pyx_ptype_6Recode_Outer, 1, "outer")) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; goto __pyx_L1;} ((struct __pyx_obj_6Recode_Request *)__pyx_v_self)->request = recode_new_request(__pyx_v_outer->outer); __pyx_r = 0; @@ -603,25 +603,25 @@ static PyObject *__pyx_f_6Recode_7Request_set_verbose(PyObject *__pyx_v_self, Py Py_INCREF(__pyx_v_flag); __pyx_v_previous = Py_None; Py_INCREF(Py_None); - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":650 */ - __pyx_1 = PyInt_FromLong((((struct __pyx_obj_6Recode_Request *)__pyx_v_self)->request->verbose_flag != 0)); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":608 */ + __pyx_1 = PyInt_FromLong((((struct __pyx_obj_6Recode_Request *)__pyx_v_self)->request->verbose_flag != 0)); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; goto __pyx_L1;} Py_DECREF(__pyx_v_previous); __pyx_v_previous = __pyx_1; __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":651 */ - __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_int); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; goto __pyx_L1;} - __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":609 */ + __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_int); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; goto __pyx_L1;} + __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; goto __pyx_L1;} Py_INCREF(__pyx_v_flag); PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_flag); - __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; goto __pyx_L1;} + __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_2); __pyx_2 = 0; - __pyx_4 = ((enum __pyx_t_6Recode_bool)PyInt_AsLong(__pyx_3)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; goto __pyx_L1;} + __pyx_4 = ((enum __pyx_t_6Recode_bool)PyInt_AsLong(__pyx_3)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; ((struct __pyx_obj_6Recode_Request *)__pyx_v_self)->request->verbose_flag = __pyx_4; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":652 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":610 */ Py_INCREF(__pyx_v_previous); __pyx_r = __pyx_v_previous; goto __pyx_L0; @@ -654,20 +654,20 @@ static PyObject *__pyx_f_6Recode_7Request_scan(PyObject *__pyx_v_self, PyObject Py_INCREF(__pyx_v_self); __pyx_v_ok = Py_None; Py_INCREF(Py_None); - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":655 */ - __pyx_1 = PyInt_FromLong(recode_scan_request(((struct __pyx_obj_6Recode_Request *)__pyx_v_self)->request,__pyx_v_text)); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":613 */ + __pyx_1 = PyInt_FromLong(recode_scan_request(((struct __pyx_obj_6Recode_Request *)__pyx_v_self)->request,__pyx_v_text)); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; goto __pyx_L1;} Py_DECREF(__pyx_v_ok); __pyx_v_ok = __pyx_1; __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":656 */ - __pyx_2 = PyObject_IsTrue(__pyx_v_ok); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":614 */ + __pyx_2 = PyObject_IsTrue(__pyx_v_ok); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; goto __pyx_L1;} __pyx_3 = (!__pyx_2); if (__pyx_3) { - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_error); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; goto __pyx_L1;} + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_error); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; goto __pyx_L1;} __Pyx_Raise(__pyx_1, 0, 0); Py_DECREF(__pyx_1); __pyx_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; goto __pyx_L1;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; goto __pyx_L1;} goto __pyx_L2; } __pyx_L2:; @@ -700,38 +700,38 @@ static PyObject *__pyx_f_6Recode_7Request_pair_sequence(PyObject *__pyx_v_self, Py_INCREF(__pyx_v_self); __pyx_v_list = Py_None; Py_INCREF(Py_None); - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":660 */ - __pyx_1 = PyList_New(0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":618 */ + __pyx_1 = PyList_New(0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; goto __pyx_L1;} Py_DECREF(__pyx_v_list); __pyx_v_list = __pyx_1; __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":663 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":621 */ __pyx_2 = ((struct __pyx_obj_6Recode_Request *)__pyx_v_self)->request->sequence_length; for (__pyx_v_counter = 0; __pyx_v_counter < __pyx_2; ++__pyx_v_counter) { - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":664 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":622 */ __pyx_v_step = (((struct __pyx_obj_6Recode_Request *)__pyx_v_self)->request->sequence_array[__pyx_v_counter]); - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":665 */ - __pyx_1 = PyObject_GetAttr(__pyx_v_list, __pyx_n_append); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; goto __pyx_L1;} - __pyx_3 = PyString_FromString(__pyx_v_step.before->name); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; goto __pyx_L1;} - __pyx_4 = PyString_FromString(__pyx_v_step.after->name); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; goto __pyx_L1;} - __pyx_5 = PyTuple_New(2); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":623 */ + __pyx_1 = PyObject_GetAttr(__pyx_v_list, __pyx_n_append); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; goto __pyx_L1;} + __pyx_3 = PyString_FromString(__pyx_v_step.before->name); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; goto __pyx_L1;} + __pyx_4 = PyString_FromString(__pyx_v_step.after->name); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; goto __pyx_L1;} + __pyx_5 = PyTuple_New(2); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_5, 0, __pyx_3); PyTuple_SET_ITEM(__pyx_5, 1, __pyx_4); __pyx_3 = 0; __pyx_4 = 0; - __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; goto __pyx_L1;} + __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_3, 0, __pyx_5); __pyx_5 = 0; - __pyx_4 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; goto __pyx_L1;} + __pyx_4 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0; } - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":666 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":624 */ Py_INCREF(__pyx_v_list); __pyx_r = __pyx_v_list; goto __pyx_L0; @@ -767,32 +767,32 @@ static PyObject *__pyx_f_6Recode_7Request_format_table(PyObject *__pyx_v_self, P Py_INCREF(__pyx_v_self); __pyx_v_ok = Py_None; Py_INCREF(Py_None); - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":671 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":629 */ __pyx_v_outer = ((struct __pyx_obj_6Recode_Request *)__pyx_v_self)->request->outer; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":672 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":630 */ __pyx_v_saved = __pyx_v_outer->iconv_pivot->ignore; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":673 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":631 */ __pyx_v_outer->iconv_pivot->ignore = __pyx_e_6Recode_true; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":674 */ - __pyx_1 = PyInt_FromLong(recode_format_table(((struct __pyx_obj_6Recode_Request *)__pyx_v_self)->request,((enum recode_programming_language)__pyx_v_language),__pyx_v_charset)); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":632 */ + __pyx_1 = PyInt_FromLong(recode_format_table(((struct __pyx_obj_6Recode_Request *)__pyx_v_self)->request,((enum recode_programming_language)__pyx_v_language),__pyx_v_charset)); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; goto __pyx_L1;} Py_DECREF(__pyx_v_ok); __pyx_v_ok = __pyx_1; __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":676 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":634 */ __pyx_v_outer->iconv_pivot->ignore = __pyx_v_saved; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":677 */ - __pyx_2 = PyObject_IsTrue(__pyx_v_ok); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":635 */ + __pyx_2 = PyObject_IsTrue(__pyx_v_ok); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; goto __pyx_L1;} __pyx_3 = (!__pyx_2); if (__pyx_3) { - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_error); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; goto __pyx_L1;} + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_error); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; goto __pyx_L1;} __Pyx_Raise(__pyx_1, 0, 0); Py_DECREF(__pyx_1); __pyx_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; goto __pyx_L1;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; goto __pyx_L1;} goto __pyx_L2; } __pyx_L2:; @@ -820,22 +820,22 @@ static PyObject *__pyx_f_6Recode_7Request_string(PyObject *__pyx_v_self, PyObjec if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "s", __pyx_argnames, &__pyx_v_text)) return 0; Py_INCREF(__pyx_v_self); - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":682 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":640 */ __pyx_v_result = recode_string(((struct __pyx_obj_6Recode_Request *)__pyx_v_self)->request,__pyx_v_text); - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":683 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":641 */ __pyx_1 = (__pyx_v_result == NULL); if (__pyx_1) { - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_error); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; goto __pyx_L1;} + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_error); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; goto __pyx_L1;} __Pyx_Raise(__pyx_2, 0, 0); Py_DECREF(__pyx_2); __pyx_2 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; goto __pyx_L1;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; goto __pyx_L1;} goto __pyx_L2; } __pyx_L2:; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":685 */ - __pyx_2 = PyString_FromString(__pyx_v_result); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":643 */ + __pyx_2 = PyString_FromString(__pyx_v_result); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; goto __pyx_L1;} __pyx_r = __pyx_2; __pyx_2 = 0; goto __pyx_L0; @@ -1253,342 +1253,342 @@ PyMODINIT_FUNC initRecode(void) { if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3; goto __pyx_L1;}; if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3; goto __pyx_L1;}; if (__Pyx_InternStrings(__pyx_intern_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3; goto __pyx_L1;}; - if (PyType_Ready(&__pyx_type_6Recode_Outer) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; goto __pyx_L1;} - if (PyObject_SetAttrString(__pyx_m, "Outer", (PyObject *)&__pyx_type_6Recode_Outer) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; goto __pyx_L1;} + if (PyType_Ready(&__pyx_type_6Recode_Outer) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; goto __pyx_L1;} + if (PyObject_SetAttrString(__pyx_m, "Outer", (PyObject *)&__pyx_type_6Recode_Outer) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; goto __pyx_L1;} __pyx_ptype_6Recode_Outer = &__pyx_type_6Recode_Outer; - if (PyType_Ready(&__pyx_type_6Recode_Request) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 640; goto __pyx_L1;} - if (PyObject_SetAttrString(__pyx_m, "Request", (PyObject *)&__pyx_type_6Recode_Request) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 640; goto __pyx_L1;} + if (PyType_Ready(&__pyx_type_6Recode_Request) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; goto __pyx_L1;} + if (PyObject_SetAttrString(__pyx_m, "Request", (PyObject *)&__pyx_type_6Recode_Request) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; goto __pyx_L1;} __pyx_ptype_6Recode_Request = &__pyx_type_6Recode_Request; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":494 */ - __pyx_1 = PyDict_New(); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; goto __pyx_L1;} - __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_Exception); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; goto __pyx_L1;} - __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":452 */ + __pyx_1 = PyDict_New(); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; goto __pyx_L1;} + __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_Exception); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; goto __pyx_L1;} + __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2); __pyx_2 = 0; - __pyx_2 = __Pyx_CreateClass(__pyx_3, __pyx_1, __pyx_n_error, "Recode"); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; goto __pyx_L1;} + __pyx_2 = __Pyx_CreateClass(__pyx_3, __pyx_1, __pyx_n_error, "Recode"); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - if (PyObject_SetAttr(__pyx_m, __pyx_n_error, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_error, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":499 */ - __pyx_3 = PyInt_FromLong(RECODE_NO_SYMBOL_TYPE); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_SYMBOL_TYPE, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":457 */ + __pyx_3 = PyInt_FromLong(RECODE_NO_SYMBOL_TYPE); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_SYMBOL_TYPE, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":500 */ - __pyx_2 = PyInt_FromLong(RECODE_CHARSET); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_CHARSET, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":458 */ + __pyx_2 = PyInt_FromLong(RECODE_CHARSET); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_CHARSET, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":501 */ - __pyx_1 = PyInt_FromLong(RECODE_DATA_SURFACE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_DATA_SURFACE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":459 */ + __pyx_1 = PyInt_FromLong(RECODE_DATA_SURFACE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_DATA_SURFACE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":502 */ - __pyx_3 = PyInt_FromLong(RECODE_TREE_SURFACE); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_TREE_SURFACE, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":460 */ + __pyx_3 = PyInt_FromLong(RECODE_TREE_SURFACE); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_TREE_SURFACE, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":504 */ - __pyx_2 = PyInt_FromLong(RECODE_NO_CHARSET_DATA); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_CHARSET_DATA, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":462 */ + __pyx_2 = PyInt_FromLong(RECODE_NO_CHARSET_DATA); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_CHARSET_DATA, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":505 */ - __pyx_1 = PyInt_FromLong(RECODE_STRIP_DATA); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_STRIP_DATA, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":463 */ + __pyx_1 = PyInt_FromLong(RECODE_STRIP_DATA); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_STRIP_DATA, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":506 */ - __pyx_3 = PyInt_FromLong(RECODE_EXPLODE_DATA); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_EXPLODE_DATA, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":464 */ + __pyx_3 = PyInt_FromLong(RECODE_EXPLODE_DATA); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_EXPLODE_DATA, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":508 */ - __pyx_2 = PyInt_FromLong(RECODE_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SIZE_1, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":466 */ + __pyx_2 = PyInt_FromLong(RECODE_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SIZE_1, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":509 */ - __pyx_1 = PyInt_FromLong(RECODE_2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SIZE_2, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":467 */ + __pyx_1 = PyInt_FromLong(RECODE_2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SIZE_2, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":510 */ - __pyx_3 = PyInt_FromLong(RECODE_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SIZE_4, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":468 */ + __pyx_3 = PyInt_FromLong(RECODE_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SIZE_4, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":511 */ - __pyx_2 = PyInt_FromLong(RECODE_N); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SIZE_N, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":469 */ + __pyx_2 = PyInt_FromLong(RECODE_N); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SIZE_N, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":513 */ - __pyx_1 = PyInt_FromLong(RECODE_NO_STEP_TABLE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_STEP_TABLE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":471 */ + __pyx_1 = PyInt_FromLong(RECODE_NO_STEP_TABLE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_STEP_TABLE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":514 */ - __pyx_3 = PyInt_FromLong(RECODE_BYTE_TO_BYTE); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_BYTE_TO_BYTE, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":472 */ + __pyx_3 = PyInt_FromLong(RECODE_BYTE_TO_BYTE); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_BYTE_TO_BYTE, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":515 */ - __pyx_2 = PyInt_FromLong(RECODE_BYTE_TO_STRING); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_BYTE_TO_STRING, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":473 */ + __pyx_2 = PyInt_FromLong(RECODE_BYTE_TO_STRING); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_BYTE_TO_STRING, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":516 */ - __pyx_1 = PyInt_FromLong(RECODE_UCS2_TO_BYTE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_UCS2_TO_BYTE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":474 */ + __pyx_1 = PyInt_FromLong(RECODE_UCS2_TO_BYTE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_UCS2_TO_BYTE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":517 */ - __pyx_3 = PyInt_FromLong(RECODE_UCS2_TO_STRING); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_UCS2_TO_STRING, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":475 */ + __pyx_3 = PyInt_FromLong(RECODE_UCS2_TO_STRING); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_UCS2_TO_STRING, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":518 */ - __pyx_2 = PyInt_FromLong(RECODE_STRING_TO_UCS2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_STRING_TO_UCS2, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":476 */ + __pyx_2 = PyInt_FromLong(RECODE_STRING_TO_UCS2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_STRING_TO_UCS2, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":519 */ - __pyx_1 = PyInt_FromLong(RECODE_COMBINE_EXPLODE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_COMBINE_EXPLODE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":477 */ + __pyx_1 = PyInt_FromLong(RECODE_COMBINE_EXPLODE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_COMBINE_EXPLODE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":520 */ - __pyx_3 = PyInt_FromLong(RECODE_COMBINE_STEP); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_COMBINE_STEP, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":478 */ + __pyx_3 = PyInt_FromLong(RECODE_COMBINE_STEP); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_COMBINE_STEP, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":521 */ - __pyx_2 = PyInt_FromLong(RECODE_EXPLODE_STEP); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_EXPLODE_STEP, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":479 */ + __pyx_2 = PyInt_FromLong(RECODE_EXPLODE_STEP); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 479; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_EXPLODE_STEP, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 479; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":523 */ - __pyx_1 = PyInt_FromLong(RECODE_STRATEGY_UNDECIDED); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_STRATEGY_UNDECIDED, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":481 */ + __pyx_1 = PyInt_FromLong(RECODE_STRATEGY_UNDECIDED); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_STRATEGY_UNDECIDED, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":524 */ - __pyx_3 = PyInt_FromLong(RECODE_SEQUENCE_IN_MEMORY); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SEQUENCE_IN_MEMORY, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":482 */ + __pyx_3 = PyInt_FromLong(RECODE_SEQUENCE_IN_MEMORY); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SEQUENCE_IN_MEMORY, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":525 */ - __pyx_2 = PyInt_FromLong(RECODE_SEQUENCE_WITH_FILES); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SEQUENCE_WITH_FILES, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":483 */ + __pyx_2 = PyInt_FromLong(RECODE_SEQUENCE_WITH_FILES); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SEQUENCE_WITH_FILES, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":526 */ - __pyx_1 = PyInt_FromLong(RECODE_SEQUENCE_WITH_PIPE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SEQUENCE_WITH_PIPE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":484 */ + __pyx_1 = PyInt_FromLong(RECODE_SEQUENCE_WITH_PIPE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SEQUENCE_WITH_PIPE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":528 */ - __pyx_3 = PyInt_FromLong(RECODE_SWAP_UNDECIDED); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SWAP_UNDECIDED, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":486 */ + __pyx_3 = PyInt_FromLong(RECODE_SWAP_UNDECIDED); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SWAP_UNDECIDED, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":529 */ - __pyx_2 = PyInt_FromLong(RECODE_SWAP_NO); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SWAP_NO, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":487 */ + __pyx_2 = PyInt_FromLong(RECODE_SWAP_NO); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SWAP_NO, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":530 */ - __pyx_1 = PyInt_FromLong(RECODE_SWAP_YES); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SWAP_YES, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":488 */ + __pyx_1 = PyInt_FromLong(RECODE_SWAP_YES); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SWAP_YES, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":532 */ - __pyx_3 = PyInt_FromLong(RECODE_NO_ERROR); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_ERROR, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":490 */ + __pyx_3 = PyInt_FromLong(RECODE_NO_ERROR); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_ERROR, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":533 */ - __pyx_2 = PyInt_FromLong(RECODE_NOT_CANONICAL); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_NOT_CANONICAL, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":491 */ + __pyx_2 = PyInt_FromLong(RECODE_NOT_CANONICAL); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_NOT_CANONICAL, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":534 */ - __pyx_1 = PyInt_FromLong(RECODE_AMBIGUOUS_OUTPUT); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_AMBIGUOUS_OUTPUT, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":492 */ + __pyx_1 = PyInt_FromLong(RECODE_AMBIGUOUS_OUTPUT); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_AMBIGUOUS_OUTPUT, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":535 */ - __pyx_3 = PyInt_FromLong(RECODE_UNTRANSLATABLE); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_UNTRANSLATABLE, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":493 */ + __pyx_3 = PyInt_FromLong(RECODE_UNTRANSLATABLE); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_UNTRANSLATABLE, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":536 */ - __pyx_2 = PyInt_FromLong(RECODE_INVALID_INPUT); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_INVALID_INPUT, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":494 */ + __pyx_2 = PyInt_FromLong(RECODE_INVALID_INPUT); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_INVALID_INPUT, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":537 */ - __pyx_1 = PyInt_FromLong(RECODE_SYSTEM_ERROR); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SYSTEM_ERROR, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":495 */ + __pyx_1 = PyInt_FromLong(RECODE_SYSTEM_ERROR); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SYSTEM_ERROR, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":538 */ - __pyx_3 = PyInt_FromLong(RECODE_USER_ERROR); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_USER_ERROR, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":496 */ + __pyx_3 = PyInt_FromLong(RECODE_USER_ERROR); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_USER_ERROR, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":539 */ - __pyx_2 = PyInt_FromLong(RECODE_INTERNAL_ERROR); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_INTERNAL_ERROR, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":497 */ + __pyx_2 = PyInt_FromLong(RECODE_INTERNAL_ERROR); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_INTERNAL_ERROR, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":540 */ - __pyx_1 = PyInt_FromLong(RECODE_MAXIMUM_ERROR); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_MAXIMUM_ERROR, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":498 */ + __pyx_1 = PyInt_FromLong(RECODE_MAXIMUM_ERROR); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_MAXIMUM_ERROR, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":542 */ - __pyx_3 = PyInt_FromLong(RECODE_NO_FORMAT); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_FORMAT, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":500 */ + __pyx_3 = PyInt_FromLong(RECODE_NO_FORMAT); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_FORMAT, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":543 */ - __pyx_2 = PyInt_FromLong(RECODE_DECIMAL_FORMAT); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_DECIMAL_FORMAT, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":501 */ + __pyx_2 = PyInt_FromLong(RECODE_DECIMAL_FORMAT); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_DECIMAL_FORMAT, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":544 */ - __pyx_1 = PyInt_FromLong(RECODE_OCTAL_FORMAT); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_OCTAL_FORMAT, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":502 */ + __pyx_1 = PyInt_FromLong(RECODE_OCTAL_FORMAT); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_OCTAL_FORMAT, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":545 */ - __pyx_3 = PyInt_FromLong(RECODE_HEXADECIMAL_FORMAT); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_HEXADECIMAL_FORMAT, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":503 */ + __pyx_3 = PyInt_FromLong(RECODE_HEXADECIMAL_FORMAT); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_HEXADECIMAL_FORMAT, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":546 */ - __pyx_2 = PyInt_FromLong(RECODE_FULL_FORMAT); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_FULL_FORMAT, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":504 */ + __pyx_2 = PyInt_FromLong(RECODE_FULL_FORMAT); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_FULL_FORMAT, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":548 */ - __pyx_1 = PyInt_FromLong(RECODE_NO_LANGUAGE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_LANGUAGE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":506 */ + __pyx_1 = PyInt_FromLong(RECODE_NO_LANGUAGE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_LANGUAGE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":549 */ - __pyx_3 = PyInt_FromLong(RECODE_LANGUAGE_C); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_LANGUAGE_C, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":507 */ + __pyx_3 = PyInt_FromLong(RECODE_LANGUAGE_C); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_LANGUAGE_C, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":550 */ - __pyx_2 = PyInt_FromLong(RECODE_LANGUAGE_PERL); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_LANGUAGE_PERL, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":508 */ + __pyx_2 = PyInt_FromLong(RECODE_LANGUAGE_PERL); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_LANGUAGE_PERL, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":552 */ - __pyx_1 = PyInt_FromLong(NUL); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_NUL, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":510 */ + __pyx_1 = PyInt_FromLong(NUL); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_NUL, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":553 */ - __pyx_3 = PyInt_FromLong(STRIP_SIZE); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_STRIP_SIZE, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":511 */ + __pyx_3 = PyInt_FromLong(STRIP_SIZE); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_STRIP_SIZE, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":555 */ - __pyx_2 = PyInt_FromLong(SYMBOL_CREATE_CHARSET); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SYMBOL_CREATE_CHARSET, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":513 */ + __pyx_2 = PyInt_FromLong(SYMBOL_CREATE_CHARSET); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SYMBOL_CREATE_CHARSET, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":556 */ - __pyx_1 = PyInt_FromLong(SYMBOL_CREATE_DATA_SURFACE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SYMBOL_CREATE_DATA_SURFACE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":514 */ + __pyx_1 = PyInt_FromLong(SYMBOL_CREATE_DATA_SURFACE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SYMBOL_CREATE_DATA_SURFACE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":557 */ - __pyx_3 = PyInt_FromLong(SYMBOL_CREATE_TREE_SURFACE); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SYMBOL_CREATE_TREE_SURFACE, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":515 */ + __pyx_3 = PyInt_FromLong(SYMBOL_CREATE_TREE_SURFACE); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SYMBOL_CREATE_TREE_SURFACE, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":558 */ - __pyx_2 = PyInt_FromLong(ALIAS_FIND_AS_CHARSET); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_ALIAS_FIND_AS_CHARSET, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":516 */ + __pyx_2 = PyInt_FromLong(ALIAS_FIND_AS_CHARSET); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_ALIAS_FIND_AS_CHARSET, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":559 */ - __pyx_1 = PyInt_FromLong(ALIAS_FIND_AS_SURFACE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_ALIAS_FIND_AS_SURFACE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":517 */ + __pyx_1 = PyInt_FromLong(ALIAS_FIND_AS_SURFACE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_ALIAS_FIND_AS_SURFACE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":560 */ - __pyx_3 = PyInt_FromLong(ALIAS_FIND_AS_EITHER); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_ALIAS_FIND_AS_EITHER, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":518 */ + __pyx_3 = PyInt_FromLong(ALIAS_FIND_AS_EITHER); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_ALIAS_FIND_AS_EITHER, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":562 */ - __pyx_2 = PyInt_FromLong(DONE); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_xDONE, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":520 */ + __pyx_2 = PyInt_FromLong(DONE); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_xDONE, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":563 */ - __pyx_1 = PyInt_FromLong(ELSE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_xELSE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":521 */ + __pyx_1 = PyInt_FromLong(ELSE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_xELSE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":565 */ - __pyx_3 = PyInt_FromLong(REPLACEMENT_CHARACTER); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_REPLACEMENT_CHARACTER, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":523 */ + __pyx_3 = PyInt_FromLong(REPLACEMENT_CHARACTER); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_REPLACEMENT_CHARACTER, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":566 */ - __pyx_2 = PyInt_FromLong(NOT_A_CHARACTER); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_NOT_A_CHARACTER, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":524 */ + __pyx_2 = PyInt_FromLong(NOT_A_CHARACTER); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_NOT_A_CHARACTER, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":567 */ - __pyx_1 = PyInt_FromLong(BYTE_ORDER_MARK); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_BYTE_ORDER_MARK, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":525 */ + __pyx_1 = PyInt_FromLong(BYTE_ORDER_MARK); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_BYTE_ORDER_MARK, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":568 */ - __pyx_3 = PyInt_FromLong(BYTE_ORDER_MARK_SWAPPED); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_BYTE_ORDER_MARK_SWAPPED, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":526 */ + __pyx_3 = PyInt_FromLong(BYTE_ORDER_MARK_SWAPPED); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_BYTE_ORDER_MARK_SWAPPED, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":570 */ - __pyx_2 = PyInt_FromLong(RECODE_AUTO_ABORT_FLAG); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_AUTO_ABORT_FLAG, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":528 */ + __pyx_2 = PyInt_FromLong(RECODE_AUTO_ABORT_FLAG); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_AUTO_ABORT_FLAG, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":571 */ - __pyx_1 = PyInt_FromLong(RECODE_NO_ICONV_FLAG); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_ICONV_FLAG, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":529 */ + __pyx_1 = PyInt_FromLong(RECODE_NO_ICONV_FLAG); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_ICONV_FLAG, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":578 */ - __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":536 */ + __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; goto __pyx_L1;} __pyx_k2 = __pyx_3; __pyx_3 = 0; - __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; goto __pyx_L1;} + __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; goto __pyx_L1;} __pyx_k3 = __pyx_2; __pyx_2 = 0; - __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; goto __pyx_L1;} + __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; goto __pyx_L1;} __pyx_k4 = __pyx_1; __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":622 */ - __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_NO_FORMAT); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":580 */ + __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_NO_FORMAT); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; goto __pyx_L1;} __pyx_k5 = __pyx_4; __pyx_4 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":680 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":638 */ return; __pyx_L1:; Py_XDECREF(__pyx_1); diff --git a/tests/Recode.pyx b/tests/Recode.pyx index e463483..53138d6 100644 --- a/tests/Recode.pyx +++ b/tests/Recode.pyx @@ -199,8 +199,8 @@ cdef extern from "common.h": unsigned character_count ctypedef recode_subtask *RECODE_SUBTASK - int get_byte 'librecode_get_byte' (RECODE_SUBTASK) - void put_byte 'librecode_put_byte' (int, RECODE_SUBTASK) + int get_byte (RECODE_SUBTASK) + void put_byte (int, RECODE_SUBTASK) void SET_SUBTASK_ERROR(recode_error_, RECODE_SUBTASK) bool SUBTASK_RETURN(RECODE_SUBTASK) void RETURN_IF_NOGO(recode_error_, RECODE_SUBTASK) @@ -288,23 +288,18 @@ cdef extern from "common.h": void *recode_malloc(RECODE_OUTER, size_t) void *recode_realloc(RECODE_OUTER, void *, size_t) - unsigned char *invert_table 'librecode_invert_table' ( - RECODE_OUTER, unsigned char *) - bool complete_pairs 'librecode_complete_pairs' ( - RECODE_OUTER, RECODE_STEP, - recode_known_pair *, unsigned, bool, bool) - bool transform_byte_to_ucs2 'librecode_transform_byte_to_ucs2' ( - RECODE_SUBTASK) - bool init_ucs2_to_byte 'librecode_init_ucs2_to_byte' ( - RECODE_STEP, RECODE_CONST_REQUEST, - RECODE_CONST_OPTION_LIST, RECODE_CONST_OPTION_LIST) - bool transform_ucs2_to_byte 'librecode_transform_ucs2_to_byte' ( - RECODE_SUBTASK) + unsigned char *invert_table (RECODE_OUTER, unsigned char *) + bool complete_pairs (RECODE_OUTER, RECODE_STEP, + recode_known_pair *, unsigned, bool, bool) + bool transform_byte_to_ucs2 (RECODE_SUBTASK) + bool init_ucs2_to_byte (RECODE_STEP, RECODE_CONST_REQUEST, + RECODE_CONST_OPTION_LIST, RECODE_CONST_OPTION_LIST) + bool transform_ucs2_to_byte (RECODE_SUBTASK) # charname.c and fr-charname.c - char *ucs2_to_charname 'librecode_ucs2_to_charname' (int) - char *ucs2_to_french_charname 'librecode_ucs2_to_french_charname' (int) + char *ucs2_to_charname (int) + char *ucs2_to_french_charname (int) # charset.c @@ -316,22 +311,15 @@ cdef extern from "common.h": ALIAS_FIND_AS_SURFACE_ 'ALIAS_FIND_AS_SURFACE' ALIAS_FIND_AS_EITHER_ 'ALIAS_FIND_AS_EITHER' - int code_to_ucs2 'librecode_code_to_ucs2' ( - RECODE_CONST_SYMBOL, unsigned) - bool prepare_for_aliases 'librecode_prepare_for_aliases' ( - RECODE_OUTER) - RECODE_ALIAS declare_alias 'librecode_declare_alias' ( - RECODE_OUTER, char *, char *) - bool declare_implied_surface 'declare_implied_surface' ( - RECODE_OUTER, RECODE_ALIAS, RECODE_CONST_SYMBOL) - bool make_argmatch_arrays 'librecode_make_argmatch_arrays' ( - RECODE_OUTER) - RECODE_ALIAS find_alias 'librecode_find_alias' ( - RECODE_OUTER, char *, alias_find_type) - bool find_and_report_subsets 'librecode_find_and_report_subsets' ( - RECODE_OUTER) - bool decode_known_pairs 'librecode_decode_known_pairs' ( - RECODE_OUTER, char *) + int code_to_ucs2 (RECODE_CONST_SYMBOL, unsigned) + bool prepare_for_aliases (RECODE_OUTER) + RECODE_ALIAS declare_alias (RECODE_OUTER, char *, char *) + bool declare_implied_surface (RECODE_OUTER, RECODE_ALIAS, + RECODE_CONST_SYMBOL) + bool make_argmatch_arrays (RECODE_OUTER) + RECODE_ALIAS find_alias (RECODE_OUTER, char *, alias_find_type) + bool find_and_report_subsets (RECODE_OUTER) + bool decode_known_pairs (RECODE_OUTER, char *) # combine.c @@ -339,54 +327,40 @@ cdef extern from "common.h": DONE ELSE_ 'ELSE' - bool init_explode 'librecode_init_explode' ( - RECODE_STEP, RECODE_CONST_REQUEST, - RECODE_CONST_OPTION_LIST, RECODE_CONST_OPTION_LIST) - bool explode_byte_byte 'librecode_explode_byte_byte' ( - RECODE_SUBTASK) - bool explode_ucs2_byte 'librecode_explode_ucs2_byte' ( - RECODE_SUBTASK) - bool explode_byte_ucs2 'librecode_explode_byte_ucs2' ( - RECODE_SUBTASK) - bool explode_ucs2_ucs2 'librecode_explode_ucs2_ucs2' ( - RECODE_SUBTASK) - - bool init_combine 'librecode_init_combine' ( - RECODE_STEP, RECODE_CONST_REQUEST, - RECODE_CONST_OPTION_LIST, RECODE_CONST_OPTION_LIST) - bool combine_byte_byte 'librecode_combine_byte_byte' ( - RECODE_SUBTASK) - bool combine_ucs2_byte 'librecode_combine_ucs2_byte' ( - RECODE_SUBTASK) - bool combine_byte_ucs2 'librecode_combine_byte_ucs2' ( - RECODE_SUBTASK) - bool combine_ucs2_ucs2 'librecode_combine_ucs2_ucs2' ( - RECODE_SUBTASK) + bool init_explode (RECODE_STEP, RECODE_CONST_REQUEST, + RECODE_CONST_OPTION_LIST, RECODE_CONST_OPTION_LIST) + bool explode_byte_byte (RECODE_SUBTASK) + bool explode_ucs2_byte (RECODE_SUBTASK) + bool explode_byte_ucs2 (RECODE_SUBTASK) + bool explode_ucs2_ucs2 (RECODE_SUBTASK) + + bool init_combine (RECODE_STEP, RECODE_CONST_REQUEST, + RECODE_CONST_OPTION_LIST, RECODE_CONST_OPTION_LIST) + bool combine_byte_byte (RECODE_SUBTASK) + bool combine_ucs2_byte (RECODE_SUBTASK) + bool combine_byte_ucs2 (RECODE_SUBTASK) + bool combine_ucs2_ucs2 (RECODE_SUBTASK) # freeze.c - void recode_freeze_tables 'librecode_recode_freeze_tables' ( - RECODE_OUTER) + void recode_freeze_tables (RECODE_OUTER) # iconv.c - bool transform_with_iconv 'librecode_transform_with_iconv' ( - RECODE_SUBTASK) + bool transform_with_iconv (RECODE_SUBTASK) # localcharset.c - char *locale_charset 'librecode_locale_charset' () + char *locale_charset () # names.c - bool should_prefer_french 'librecode_should_prefer_french' () + bool should_prefer_french () # mixed.c - bool transform_c_source 'librecode_transform_c_source' ( - RECODE_TASK) - bool transform_po_source 'librecode_transform_po_source' ( - RECODE_TASK) + bool transform_c_source (RECODE_TASK) + bool transform_po_source (RECODE_TASK) # outer.c @@ -395,17 +369,13 @@ cdef extern from "common.h": RECODE_CONST_OPTION_LIST, RECODE_CONST_OPTION_LIST) ctypedef bool (*declare_single_Arg6)(RECODE_SUBTASK) - bool reversibility 'librecode_reversibility' ( - RECODE_SUBTASK, unsigned) - RECODE_SINGLE declare_single 'librecode_declare_single' ( + bool reversibility (RECODE_SUBTASK, unsigned) + RECODE_SINGLE declare_single ( RECODE_OUTER, char *, char *, recode_quality, declare_single_Arg5, declare_single_Arg6) - bool declare_iconv 'librecode_declare_iconv' ( - RECODE_OUTER, char *, char *) - bool declare_explode_data 'librecode_declare_explode_data' ( - RECODE_OUTER, unsigned short *, char *, char *) - bool declare_strip_data 'librecode_declare_strip_data' ( - RECODE_OUTER, strip_data *, char *) + bool declare_iconv (RECODE_OUTER, char *, char *) + bool declare_explode_data (RECODE_OUTER, unsigned short *, char *, char *) + bool declare_strip_data (RECODE_OUTER, strip_data *, char *) # pool.c @@ -413,25 +383,19 @@ cdef extern from "common.h": # request.c - char *edit_sequence 'librecode_edit_sequence' ( - RECODE_REQUEST, bool) + char *edit_sequence (RECODE_REQUEST, bool) # rfc1345.c - char *ucs2_to_rfc1345 'librecode_ucs2_to_rfc1345' ( - recode_ucs2) + char *ucs2_to_rfc1345 (recode_ucs2) # task.c - int get_byte_helper 'librecode_get_byte_helper' ( - RECODE_SUBTASK) - void put_byte_helper 'librecode_put_byte_helper' ( - int, RECODE_SUBTASK) + int get_byte_helper (RECODE_SUBTASK) + void put_byte_helper (int, RECODE_SUBTASK) bool recode_if_nogo(recode_error_, RECODE_SUBTASK) - bool transform_byte_to_byte 'librecode_transform_byte_to_byte' ( - RECODE_SUBTASK) - bool transform_byte_to_variable 'librecode_transform_byte_to_variable' ( - RECODE_SUBTASK) + bool transform_byte_to_byte (RECODE_SUBTASK) + bool transform_byte_to_variable (RECODE_SUBTASK) # ucs.c @@ -441,14 +405,10 @@ cdef extern from "common.h": BYTE_ORDER_MARK_ 'BYTE_ORDER_MARK' BYTE_ORDER_MARK_SWAPPED_ 'BYTE_ORDER_MARK_SWAPPED' - bool get_ucs2 'librecode_get_ucs2' ( - unsigned *, RECODE_SUBTASK) - bool get_ucs4 'librecode_get_ucs4' ( - unsigned *, RECODE_SUBTASK) - bool put_ucs2 'librecode_put_ucs2' ( - unsigned, RECODE_SUBTASK) - bool put_ucs4 'librecode_put_ucs4' ( - unsigned, RECODE_SUBTASK) + bool get_ucs2 (unsigned *, RECODE_SUBTASK) + bool get_ucs4 (unsigned *, RECODE_SUBTASK) + bool put_ucs2 (unsigned, RECODE_SUBTASK) + bool put_ucs4 (unsigned, RECODE_SUBTASK) ## Recode library at OUTER level. @@ -458,12 +418,10 @@ cdef extern from "common.h": RECODE_OUTER recode_new_outer(unsigned) bool recode_delete_outer(RECODE_OUTER) - bool list_all_symbols 'librecode_list_all_symbols' ( - RECODE_OUTER, RECODE_CONST_SYMBOL) - bool list_concise_charset 'librecode_list_concise_charset' ( - RECODE_OUTER, RECODE_CONST_SYMBOL, recode_list_format) - bool list_full_charset 'librecode_list_full_charset' ( - RECODE_OUTER, RECODE_CONST_SYMBOL) + bool list_all_symbols (RECODE_OUTER, RECODE_CONST_SYMBOL) + bool list_concise_charset (RECODE_OUTER, RECODE_CONST_SYMBOL, + recode_list_format) + bool list_full_charset (RECODE_OUTER, RECODE_CONST_SYMBOL) # Recode library at REQUEST level. -- 2.40.0