From: François Pinard Date: Sat, 8 Mar 2008 23:43:25 +0000 (-0500) Subject: Implement new_outer() flags X-Git-Tag: v3.7-beta2~7 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6a98261f66fd933f5e7c2837afdcc6cc79010e6b;p=recode Implement new_outer() flags --- diff --git a/doc/ChangeLog b/doc/ChangeLog index b9bbc8c..c89ffc4 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,7 @@ +2008-03-08 François Pinard + + * recode.texi: Better document iconv processing. + 2008-03-07 François Pinard * tables.py: Moved to top level. diff --git a/doc/recode.info b/doc/recode.info index 1e7ccf7..cecb055 100644 --- a/doc/recode.info +++ b/doc/recode.info @@ -849,6 +849,18 @@ are not meant to accompany actual file recodings. These options are: recode -l | grep -i greek + Within a collection of names for a single charset, the `recode' + library distinguishes one of them as being the genuine charset + name, while the others are said to be aliases. The list normally + integrates all charsets from the external `iconv' library, unless + this is defeated through options like `--ignore=:iconv:' or `-x:'. + The portable `libiconv' library relates its own aliases of a same + charset, and for a given set of aliases, if none of them are known + to `recode' already, then `recode' will pick one as being the + genuine charset. The `iconv' library within GNU `libc' makes all + aliases appear as different charsets, and each will be presented as + a charset by `recode', unless it is known otherwise. + There might be one non-option argument, in which case it is interpreted as a charset name, possibly abbreviated to any non ambiguous prefix. This particular usage of the `-l' option is @@ -1467,7 +1479,7 @@ an example of a program which does not really make anything useful. main (int argc, char *const *argv) { program_name = argv[0]; - RECODE_OUTER outer = recode_new_outer (true); + RECODE_OUTER outer = recode_new_outer (RECODE_AUTO_ABORT_FLAG); recode_delete_outer (outer); exit (0); @@ -1524,7 +1536,7 @@ like: main (int argc, char *const *argv) { program_name = argv[0]; - RECODE_OUTER outer = recode_new_outer (true); + RECODE_OUTER outer = recode_new_outer (RECODE_AUTO_ABORT_FLAG); recode_term_outer (outer); exit (EXIT_SUCCESS); @@ -1534,28 +1546,43 @@ but we will not insist on such details in the examples to come. * Initialisation functions - RECODE_OUTER recode_new_outer (AUTO_ABORT); + RECODE_OUTER recode_new_outer (FLAGS); bool recode_delete_outer (OUTER); The recoding library absolutely needs to be initialised before being used, and `recode_new_outer' has to be called once, first. Besides the OUTER it is meant to initialise, the function accepts - a Boolean argument whether or not the library should automatically - issue diagnostics on standard and abort the whole program on - errors. When AUTO_ABORT is `true', the library later conveniently - issues diagnostics itself, and aborts the calling program on - errors. This is merely a convenience, because if this parameter - was `false', the calling program should always take care of - checking the return value of all other calls to the recoding - library functions, and when any error is detected, issue a - diagnostic and abort processing itself. - - Regardless of the setting of AUTO_ABORT, all recoding library - functions return a success status. Most functions are geared for - returning `false' for an error, and `true' if everything went fine. - Functions returning structures or strings return `NULL' instead of - the result, when the result cannot be produced. If AUTO_ABORT is - selected, functions either return `true', or do not return at all. + an integer value holding zero or more flags. If no flags, use + `0'. If more than one flag, they should be combined with the + bitwise-or (`|') operator. The possible flags are: + + `RECODE_AUTO_ABORT_FLAG' + When this flag is set, the library later issues diagnostics + itself, and aborts the calling program on errors. This is + merely a convenience, because if this flag was not given, the + calling program should always take care of checking the + return value of all other calls to the recoding library + functions, and when any error is detected, issue a diagnostic + and abort processing itself. + + `RECODE_NO_ICONV_FLAG' + When this flag is set, the library does not initialize nor + use the external `iconv' library. This means that the + charsets and aliases provided by the `iconv' external library + and not by `recode' itself are not available. + + + In previous incatations of the `recode' library, FLAGS was a + Boolean instead of a collection of flags, meant to set + `RECODE_AUTO_ABORT_FLAG'. This still works, but is deprecated. + + Regardless of the setting of `RECODE_AUTO_ABORT', all recoding + library functions return a success status. Most functions are + geared for returning `false' for an error, and `true' if + everything went fine. Functions returning structures or strings + return `NULL' instead of the result, when the result cannot be + produced. If RECODE_AUTO_ABORT is selected, functions either + return `true', or do not return at all. As in the example above, `recode_new_outer' is called only once in most cases. Calling `recode_new_outer' implies some overhead, so @@ -2549,10 +2576,10 @@ the issues related to this duplication, and other peculiarities specific to the `iconv' library. As implemented, if a recoding request can be satisfied by the -`recode' library both with and without using the `iconv' library, it is -likely that the external `iconv' library will be used. To sort out if -the `iconv' is indeed used or not, just use the `-v' or `--verbose' -option, *note Recoding::. +`recode' library both with and without using the `iconv' library, the +external `iconv' library might be used. To sort out if the `iconv' is +indeed used or not, just use the `-v' or `--verbose' option, *note +Recoding::, and check if `:iconv:' appears as an intermediate charset. The `:iconv:' charset represents a conceptual pivot charset within the external `iconv' library (in fact, this pivot exists, but is not @@ -2570,38 +2597,35 @@ these two calls: recode -x: l1..1250 < INPUT > OUTPUT Both should transform INPUT from `ISO-8859-1' to `CP1250' on OUTPUT. -The first call uses the external `iconv' library, while the second call -avoids it. Whatever the path used, the results should normally be -identical. However, there might be observable differences. Most of -them might result from reversibility issues, as the external `iconv' -engine does not necessarily address reversibility. Even if much less -likely, some differences might result from slight errors in the tables -used, such differences should then be reported as bugs. - - Other irregularities might be seen in the area of error detection and +The first call might use the external `iconv' library, while the second +call surely avoids it. Whatever the path used, the results should +normally be identical. However, there might be observable differences. +Most of them might result from reversibility issues, as the external +`iconv' engine does not likely address reversibility in the same way. +Even if much less likely, some differences might result from slight +errors in the tables used, such differences should then be reported as +bugs. + + Discrepancies might be seen in the area of error detection and recovery. The `recode' library usually tries to detect canonicity errors in input, and production of ambiguous output, but the external -`iconv' library does not necessarily. Input is usually validated, -however. The `recode' library may not always react properly when the +`iconv' library does not necessarily do it the same way. Moreover, the +`recode' library may not always recover as nicely as possible when the external `iconv' has no translation for a given character. - Within a collection of names for a single charset, the `recode' -library distinguishes one of them as being the genuine charset name, -while the others are said to be aliases. When `recode' lists all -charsets, for example with the `-l' or `--list' option, the list -integrates all charsets from the external `iconv' library. The -selection of one of the aliases as the genuine charset name is an -artifact added by `recode', it does not necessarily come from `iconv' -(in fact, the portable `libiconv' library distinguishes a genuine -charset names from its aliases, while GNU `libc' does not give access -to such information). Moreover, the `recode' library dynamically -resolves some conflicts when it initialises itself at runtime. - The external `iconv' libraries may offer different sets of charsets -and aliases, from one library to another, and also between successive -versions of a single library. Best is to check the documentation of the -`iconv' library, as of the time Recode was installed, to know what -charsets and aliases are offered by that library +and aliases from one library to another, and also between successive +versions of a single library. Best is to check the documentation of +the external `iconv' library, as of the time `recode' was installed, to +know which charsets and aliases are being provided. + + The `--ignore=:iconv:' or `-x:' options might be useful when there +is a need to make a recoding more exactly repeatable between machines +or installations, the idea being here to remove the variance possibly +introduced by the various implementations of an external `iconv' +library. These options might also help deciding whether if some +recoding problem is genuine to `recode', or is induced by the external +`iconv' library.  File: recode.info, Node: Tabular, Next: ASCII misc, Prev: iconv, Up: Top @@ -5042,7 +5066,7 @@ Concept Index * file time stamps: Recoding. (line 26) * filter operation: Synopsis. (line 27) * force recoding: Reversibility. (line 10) -* French description of charsets: Listings. (line 198) +* French description of charsets: Listings. (line 210) * guessing charsets: Listings. (line 63) * Haible, Bruno: iconv. (line 6) * handling errors: Errors. (line 6) @@ -5053,7 +5077,7 @@ Concept Index * IBM graphics characters: Recoding. (line 16) * iconv: Design. (line 98) * iconv library: iconv. (line 6) -* identifying subsets in charsets: Listings. (line 210) +* identifying subsets in charsets: Listings. (line 222) * ignore charsets: Recoding. (line 60) * implied surfaces: Requests. (line 70) * impossible conversions: Charset overview. (line 33) @@ -5100,7 +5124,7 @@ Concept Index * partial conversion: Mixed. (line 20) * permutations of groups of bytes: Permutations. (line 6) * pipe sequencing: Sequencing. (line 40) -* program_name variable: Outer level. (line 122) +* program_name variable: Outer level. (line 137) * programming language support: Listings. (line 26) * pseudo-charsets: Charset overview. (line 33) * pure charset: Surface overview. (line 17) @@ -5135,7 +5159,7 @@ Concept Index * strict operation: Reversibility. (line 49) * string and comments conversion: Mixed. (line 39) * structural surfaces: Surfaces. (line 36) -* subsets in charsets: Listings. (line 210) +* subsets in charsets: Listings. (line 222) * super-charsets: Mule. (line 6) * supported programming languages: Listings. (line 26) * suppressing diagnostic messages: Reversibility. (line 37) @@ -5186,7 +5210,7 @@ This is an alphabetical list of all command-line options accepted by * --colons: Recoding. (line 11) * --copyright: Listings. (line 19) * --diacritics: Mixed. (line 20) -* --find-subsets: Listings. (line 210) +* --find-subsets: Listings. (line 222) * --force: Reversibility. (line 10) * --graphics: Recoding. (line 16) * --header: Listings. (line 26) @@ -5216,7 +5240,7 @@ This is an alphabetical list of all command-line options accepted by * -S: Mixed. (line 39) * -s: Reversibility. (line 49) * -t: Recoding. (line 26) -* -T: Listings. (line 210) +* -T: Listings. (line 222) * -v: Recoding. (line 35) * -x: Recoding. (line 60) @@ -5244,8 +5268,8 @@ and variables in the `recode' library. * file_one_to_many: New charsets. (line 71) * file_one_to_one: New charsets. (line 59) * find_charset: Charset level. (line 15) -* LANG, when listing charsets: Listings. (line 198) -* LANGUAGE, when listing charsets: Listings. (line 198) +* LANG, when listing charsets: Listings. (line 210) +* LANGUAGE, when listing charsets: Listings. (line 210) * list_all_charsets: Charset level. (line 15) * list_concise_charset: Charset level. (line 15) * list_full_charset: Charset level. (line 15) @@ -6049,81 +6073,81 @@ Ref: Requests-Footnote-129322 Ref: Requests-Footnote-229389 Ref: Requests-Footnote-329567 Node: Listings30026 -Ref: Listings-Footnote-140444 -Node: Recoding40771 -Node: Reversibility43596 -Ref: Reversibility-Footnote-152099 -Node: Sequencing52236 -Node: Mixed54682 -Node: Emacs58075 -Node: Debugging59054 -Node: Library63318 -Node: Outer level64672 -Node: Request level70158 -Node: Task level80627 -Node: Charset level91049 -Node: Errors91891 -Ref: Errors-Footnote-196745 -Ref: Errors-Footnote-296859 -Node: Universal97220 -Ref: Universal-Footnote-1100345 -Ref: Universal-Footnote-2100413 -Node: UCS-2100626 -Node: UCS-4103160 -Node: UTF-7103702 -Node: UTF-8104299 -Node: UTF-16108606 -Node: count-characters109756 -Node: dump-with-names110429 -Node: iconv112982 -Node: Tabular116653 -Node: ASCII misc138916 -Node: ASCII139282 -Node: ISO 8859140102 -Node: ASCII-BS142400 -Node: flat144239 -Node: IBM and MS144912 -Node: EBCDIC145485 -Node: IBM-PC147599 -Ref: IBM-PC-Footnote-1149721 -Node: Icon-QNX149880 -Node: CDC150307 -Node: Display Code152011 -Ref: Display Code-Footnote-1154295 -Node: CDC-NOS154500 -Node: Bang-Bang156464 -Node: Micros158395 -Node: Apple-Mac158780 -Node: AtariST160836 -Node: Miscellaneous161826 -Node: HTML162563 -Node: LaTeX168591 -Node: Texinfo169367 -Node: Vietnamese170147 -Node: African171127 -Node: Others172483 -Node: Texte173941 -Ref: Texte-Footnote-1178496 -Ref: Texte-Footnote-2178576 -Ref: Texte-Footnote-3179051 -Node: Mule179148 -Ref: Mule-Footnote-1180935 -Node: Surfaces181454 -Ref: Surfaces-Footnote-1184442 -Node: Permutations184548 -Node: End lines185393 -Node: MIME187600 -Node: Dump188791 -Node: Test192985 -Node: Internals195465 -Node: Main flow196703 -Node: New charsets199823 -Node: New surfaces204366 -Node: Design205094 -Ref: Design-Footnote-1214309 -Node: Concept Index214413 -Node: Option Index229156 -Node: Library Index232009 -Node: Charset and Surface Index236586 +Ref: Listings-Footnote-141208 +Node: Recoding41535 +Node: Reversibility44360 +Ref: Reversibility-Footnote-152863 +Node: Sequencing53000 +Node: Mixed55446 +Node: Emacs58839 +Node: Debugging59818 +Node: Library64082 +Node: Outer level65436 +Node: Request level71552 +Node: Task level82021 +Node: Charset level92443 +Node: Errors93285 +Ref: Errors-Footnote-198139 +Ref: Errors-Footnote-298253 +Node: Universal98614 +Ref: Universal-Footnote-1101739 +Ref: Universal-Footnote-2101807 +Node: UCS-2102020 +Node: UCS-4104554 +Node: UTF-7105096 +Node: UTF-8105693 +Node: UTF-16110000 +Node: count-characters111150 +Node: dump-with-names111823 +Node: iconv114376 +Node: Tabular117808 +Node: ASCII misc140071 +Node: ASCII140437 +Node: ISO 8859141257 +Node: ASCII-BS143555 +Node: flat145394 +Node: IBM and MS146067 +Node: EBCDIC146640 +Node: IBM-PC148754 +Ref: IBM-PC-Footnote-1150876 +Node: Icon-QNX151035 +Node: CDC151462 +Node: Display Code153166 +Ref: Display Code-Footnote-1155450 +Node: CDC-NOS155655 +Node: Bang-Bang157619 +Node: Micros159550 +Node: Apple-Mac159935 +Node: AtariST161991 +Node: Miscellaneous162981 +Node: HTML163718 +Node: LaTeX169746 +Node: Texinfo170522 +Node: Vietnamese171302 +Node: African172282 +Node: Others173638 +Node: Texte175096 +Ref: Texte-Footnote-1179651 +Ref: Texte-Footnote-2179731 +Ref: Texte-Footnote-3180206 +Node: Mule180303 +Ref: Mule-Footnote-1182090 +Node: Surfaces182609 +Ref: Surfaces-Footnote-1185597 +Node: Permutations185703 +Node: End lines186548 +Node: MIME188755 +Node: Dump189946 +Node: Test194140 +Node: Internals196620 +Node: Main flow197858 +Node: New charsets200978 +Node: New surfaces205521 +Node: Design206249 +Ref: Design-Footnote-1215464 +Node: Concept Index215568 +Node: Option Index230311 +Node: Library Index233164 +Node: Charset and Surface Index237741  End Tag Table diff --git a/doc/recode.texi b/doc/recode.texi index 6127b64..3c2ef61 100644 --- a/doc/recode.texi +++ b/doc/recode.texi @@ -987,6 +987,18 @@ is over two hundred lines. It is best used with @samp{grep -i}, as in: recode -l | grep -i greek @end example +Within a collection of names for a single charset, the @code{recode} +library distinguishes one of them as being the genuine charset name, +while the others are said to be aliases. The list normally integrates +all charsets from the external @code{iconv} library, unless this is +defeated through options like @samp{--ignore=:iconv:} or @samp{-x:}. +The portable @code{libiconv} library relates its own aliases of a same +charset, and for a given set of aliases, if none of them are known to +@code{recode} already, then @code{recode} will pick one as being the +genuine charset. The @code{iconv} library within GNU @code{libc} makes +all aliases appear as different charsets, and each will be presented as +a charset by @code{recode}, unless it is known otherwise. + There might be one non-option argument, in which case it is interpreted as a charset name, possibly abbreviated to any non ambiguous prefix. This particular usage of the @samp{-l} option is obeyed @emph{only} for @@ -1723,7 +1735,7 @@ int main (int argc, char *const *argv) @{ program_name = argv[0]; - RECODE_OUTER outer = recode_new_outer (true); + RECODE_OUTER outer = recode_new_outer (RECODE_AUTO_ABORT_FLAG); recode_delete_outer (outer); exit (0); @@ -1788,7 +1800,7 @@ int main (int argc, char *const *argv) @{ program_name = argv[0]; - RECODE_OUTER outer = recode_new_outer (true); + RECODE_OUTER outer = recode_new_outer (RECODE_AUTO_ABORT_FLAG); recode_term_outer (outer); exit (EXIT_SUCCESS); @@ -1804,7 +1816,7 @@ but we will not insist on such details in the examples to come. @cindex initialisation functions, outer @example -RECODE_OUTER recode_new_outer (@var{auto_abort}); +RECODE_OUTER recode_new_outer (@var{flags}); bool recode_delete_outer (@var{outer}); @end example @@ -1812,22 +1824,41 @@ bool recode_delete_outer (@var{outer}); @findex recode_delete_outer The recoding library absolutely needs to be initialised before being used, and @code{recode_new_outer} has to be called once, first. Besides the -@var{outer} it is meant to initialise, the function accepts a Boolean -argument whether or not the library should automatically issue diagnostics -on standard and abort the whole program on errors. When @var{auto_abort} -is @code{true}, the library later conveniently issues diagnostics itself, -and aborts the calling program on errors. This is merely a convenience, -because if this parameter was @code{false}, the calling program should always -take care of checking the return value of all other calls to the recoding -library functions, and when any error is detected, issue a diagnostic and -abort processing itself. - -Regardless of the setting of @var{auto_abort}, all recoding library -functions return a success status. Most functions are geared for returning -@code{false} for an error, and @code{true} if everything went fine. -Functions returning structures or strings return @code{NULL} instead -of the result, when the result cannot be produced. If @var{auto_abort} -is selected, functions either return @code{true}, or do not return at all. +@var{outer} it is meant to initialise, the function accepts an integer value +holding zero or more flags. If no flags, use @samp{0}. If more than one +flag, they should be combined with the bitwise-or (@samp{|}) operator. +The possible flags are: + +@table @code +@item RECODE_AUTO_ABORT_FLAG + +When this flag is set, the library later issues diagnostics itself, and +aborts the calling program on errors. This is merely a convenience, +because if this flag was not given, the calling program should always +take care of checking the return value of all other calls to the +recoding library functions, and when any error is detected, issue a +diagnostic and abort processing itself. + +@item RECODE_NO_ICONV_FLAG + +When this flag is set, the library does not initialize nor use the +external @code{iconv} library. This means that the charsets and aliases +provided by the @code{iconv} external library and not by @code{recode} +itself are not available. + +@end table + +In previous incatations of the @code{recode} library, @var{flags} +was a Boolean instead of a collection of flags, meant to set +@code{RECODE_AUTO_ABORT_FLAG}. This still works, but is deprecated. + +Regardless of the setting of @code{RECODE_AUTO_ABORT}, all recoding +library functions return a success status. Most functions are +geared for returning @code{false} for an error, and @code{true} if +everything went fine. Functions returning structures or strings return +@code{NULL} instead of the result, when the result cannot be produced. +If @var{RECODE_AUTO_ABORT} is selected, functions either return +@code{true}, or do not return at all. As in the example above, @code{recode_new_outer} is called only once in most cases. Calling @code{recode_new_outer} implies some overhead, so @@ -2958,9 +2989,10 @@ peculiarities specific to the @code{iconv} library. As implemented, if a recoding request can be satisfied by the @code{recode} library both with and without using the @code{iconv} -library, it is likely that the external @code{iconv} library will be -used. To sort out if the @code{iconv} is indeed used or not, just use -the @samp{-v} or @samp{--verbose} option, @pxref{Recoding}. +library, the external @code{iconv} library might be used. To sort out +if the @code{iconv} is indeed used or not, just use the @samp{-v} or +@samp{--verbose} option, @pxref{Recoding}, and check if @samp{:iconv:} +appears as an intermediate charset. @tindex iconv The @code{:iconv:} charset represents a conceptual pivot charset @@ -2983,40 +3015,35 @@ recode -x: l1..1250 < @var{input} > @var{output} @noindent Both should transform @var{input} from @code{ISO-8859-1} to -@code{CP1250} on @var{output}. The first call uses the external -@code{iconv} library, while the second call avoids it. Whatever the -path used, the results should normally be identical. However, there -might be observable differences. Most of them might result from +@code{CP1250} on @var{output}. The first call might use the external +@code{iconv} library, while the second call surely avoids it. Whatever +the path used, the results should normally be identical. However, +there might be observable differences. Most of them might result from reversibility issues, as the external @code{iconv} engine does not -necessarily address reversibility. Even if much less likely, some -differences might result from slight errors in the tables used, such -differences should then be reported as bugs. - -Other irregularities might be seen in the area of error detection and -recovery. The @code{recode} library usually tries to detect canonicity -errors in input, and production of ambiguous output, but the external -@code{iconv} library does not necessarily. Input is usually validated, -however. The @code{recode} library may not always react properly when +likely address reversibility in the same way. Even if much less likely, +some differences might result from slight errors in the tables used, +such differences should then be reported as bugs. + +Discrepancies might be seen in the area of error detection and recovery. +The @code{recode} library usually tries to detect canonicity errors in +input, and production of ambiguous output, but the external @code{iconv} +library does not necessarily do it the same way. Moreover, the +@code{recode} library may not always recover as nicely as possible when the external @code{iconv} has no translation for a given character. -Within a collection of names for a single charset, the @code{recode} -library distinguishes one of them as being the genuine charset name, -while the others are said to be aliases. When @code{recode} lists all -charsets, for example with the @samp{-l} or @samp{--list} option, the -list integrates all charsets from the external @code{iconv} library. -The selection of one of the aliases as the genuine charset name is -an artifact added by @code{recode}, it does not necessarily come -from @code{iconv} (in fact, the portable @code{libiconv} library -distinguishes a genuine charset names from its aliases, while GNU -@code{libc} does not give access to such information). Moreover, the -@code{recode} library dynamically resolves some conflicts when it -initialises itself at runtime. - The external @code{iconv} libraries may offer different sets of charsets -and aliases, from one library to another, and also between successive -versions of a single library. Best is to check the documentation of the -@code{iconv} library, as of the time Recode was installed, to know what -charsets and aliases are offered by that library +and aliases from one library to another, and also between successive +versions of a single library. Best is to check the documentation of +the external @code{iconv} library, as of the time @code{recode} was +installed, to know which charsets and aliases are being provided. + +The @samp{--ignore=:iconv:} or @samp{-x:} options might be useful when +there is a need to make a recoding more exactly repeatable between +machines or installations, the idea being here to remove the variance +possibly introduced by the various implementations of an external +@code{iconv} library. These options might also help deciding whether if +some recoding problem is genuine to @code{recode}, or is induced by the +external @code{iconv} library. @node Tabular, ASCII misc, iconv, Top @chapter Tabular sources (@w{RFC 1345}) diff --git a/src/ChangeLog b/src/ChangeLog index c7b20e9..d09295a 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,15 @@ +2008-03-08 François Pinard + + * recode.h (RECODE_AUTO_ABORT_FLAG, RECODE_NO_ICONV_FLAG): New. + * recodext.h (struct recode_outer): Add use_iconv field. + Also remove auto_reversibility, which was unused. + * outer.c (register_all_modules, unregister_all_modules): + Skip module_iconv or delmodule_iconv unless use_iconv is set. + (recode_new_outer): Change auto_abort argument to flags, and + initialize auto_abort and use_iconv from flags. + * main.c (main): Use them. + Add a few missing static specifiers. + 2008-03-07 François Pinard * iconvdecl.h: Deleted. Should be generated at installation time diff --git a/src/main.c b/src/main.c index e167921..ea05a22 100644 --- a/src/main.c +++ b/src/main.c @@ -102,10 +102,10 @@ static bool force_flag = false; recoding the most transparent possible to make, and other tools. However, selecting the following option inhibit the timestamps handling, thus effectively `touching' the file. */ -bool touch_option = false; +static bool touch_option = false; /* With strict mapping, all reversibility fallbacks get defeated. */ -bool strict_mapping = false; +static bool strict_mapping = false; /* The following charset name will be ignored, if given. */ static const char *ignored_name = NULL; @@ -636,9 +636,14 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"), /* Register all modules and build internal tables. */ - outer = recode_new_outer (true); - if (!outer) - abort (); + { + unsigned flags = RECODE_AUTO_ABORT_FLAG; + if (ignored_name && *ignored_name == ':') + flags |= RECODE_NO_ICONV_FLAG; + outer = recode_new_outer (flags); + if (!outer) + abort (); + } if (freeze_tables) { diff --git a/src/outer.c b/src/outer.c index ff88b27..f041e38 100644 --- a/src/outer.c +++ b/src/outer.c @@ -426,16 +426,14 @@ estimate_single_cost (RECODE_OUTER outer, RECODE_SINGLE single) return; } -/*------------------------------------------------------------------------. -| Initialize all collected single steps. If STRICT_MAPPING is true, many | -| recodings loose their reversibility. | -`------------------------------------------------------------------------*/ +/*----------------------------------------. +| Initialize all collected single steps. | +`----------------------------------------*/ #include "decsteps.h" bool module_iconv PARAMS ((struct recode_outer *)); void delmodule_iconv PARAMS ((struct recode_outer *)); - static bool register_all_modules (RECODE_OUTER outer) { @@ -507,8 +505,9 @@ register_all_modules (RECODE_OUTER outer) confusing some other initialisations that would come after it. */ if (!make_argmatch_arrays (outer)) return false; - if (!module_iconv (outer)) - return false; + if (outer->use_iconv) + if (!module_iconv (outer)) + return false; for (single = outer->single_list; single; single = single->next) estimate_single_cost (outer, single); @@ -520,6 +519,7 @@ void static unregister_all_modules (RECODE_OUTER outer) { #include "tersteps.h" + if (outer->use_iconv) delmodule_iconv(outer); } @@ -533,20 +533,21 @@ unregister_all_modules (RECODE_OUTER outer) `-------------------------*/ RECODE_OUTER -recode_new_outer (bool auto_abort) +recode_new_outer (unsigned flags) { RECODE_OUTER outer = malloc (sizeof (struct recode_outer)); if (!outer) { /* Diagnostic? FIXME! */ - if (auto_abort) + if (flags & RECODE_AUTO_ABORT_FLAG) exit (1); return NULL; } memset (outer, 0, sizeof (struct recode_outer)); - outer->auto_abort = auto_abort; + outer->auto_abort = (flags & RECODE_AUTO_ABORT_FLAG) != 0; + outer->use_iconv = (flags & RECODE_NO_ICONV_FLAG) == 0; if (!register_all_modules (outer) || !make_argmatch_arrays (outer)) { diff --git a/src/recode.h b/src/recode.h index 528269c..f24530e 100644 --- a/src/recode.h +++ b/src/recode.h @@ -62,7 +62,10 @@ extern "C" { | Recode library at OUTER level. | `--------------------------------*/ -RECODE_OUTER recode_new_outer PARAMS ((bool)); +#define RECODE_AUTO_ABORT_FLAG 1 +#define RECODE_NO_ICONV_FLAG 2 + +RECODE_OUTER recode_new_outer PARAMS ((unsigned)); bool recode_delete_outer PARAMS ((RECODE_OUTER)); bool list_all_symbols PARAMS ((RECODE_OUTER, RECODE_CONST_SYMBOL)); diff --git a/src/recodext.h b/src/recodext.h index cdf4b97..de6dd54 100644 --- a/src/recodext.h +++ b/src/recodext.h @@ -118,8 +118,8 @@ struct recode_outer /* This flag asks the library to diagnose and abort itself if errors. */ bool auto_abort; - /* If new steps should automatically have reversibility for fallback. */ - bool auto_reversibility; + /* If the external `iconv' library should be initialized and used. */ + bool use_iconv; /* charset.c */ /* --------- */ diff --git a/tests/ChangeLog b/tests/ChangeLog index 531fda9..c65a4fb 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,9 @@ +2008-03-08 François Pinard + + * Recode.pyx: Parallel changes in src/. + (Outer.__init__): Implement strictness setting. + (Outer.set_iconv): Deleted. + 2008-03-06 François Pinard Increase Recode.so portability, by depending on distutils: diff --git a/tests/Recode.c b/tests/Recode.c index cb056eb..d383774 100644 --- a/tests/Recode.c +++ b/tests/Recode.c @@ -1,4 +1,4 @@ -/* Generated by Pyrex 0.9.6.4 on Fri Mar 7 00:14:53 2008 */ +/* Generated by Pyrex 0.9.6.4 on Sat Mar 8 18:28:26 2008 */ #define PY_SSIZE_T_CLEAN #include "Python.h" @@ -76,6 +76,8 @@ static PyTypeObject *__pyx_ptype_6Recode_Outer = 0; static PyTypeObject *__pyx_ptype_6Recode_Request = 0; static PyObject *__pyx_k2; static PyObject *__pyx_k3; +static PyObject *__pyx_k4; +static PyObject *__pyx_k5; /* Implementation of Recode */ @@ -147,15 +149,65 @@ static PyObject *__pyx_n_global_outer; static int __pyx_f_6Recode_5Outer___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_f_6Recode_5Outer___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_strict = 0; + PyObject *__pyx_v_auto_abort = 0; + PyObject *__pyx_v_no_iconv = 0; + int __pyx_v_flags; + RECODE_SINGLE __pyx_v_single; int __pyx_r; - enum __pyx_t_6Recode_bool __pyx_1; - static char *__pyx_argnames[] = {"strict",0}; + int __pyx_1; + static char *__pyx_argnames[] = {"strict","auto_abort","no_iconv",0}; __pyx_v_strict = __pyx_k2; - if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "|O", __pyx_argnames, &__pyx_v_strict)) return -1; + __pyx_v_auto_abort = __pyx_k3; + __pyx_v_no_iconv = __pyx_k4; + if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "|OOO", __pyx_argnames, &__pyx_v_strict, &__pyx_v_auto_abort, &__pyx_v_no_iconv)) return -1; Py_INCREF(__pyx_v_self); Py_INCREF(__pyx_v_strict); - __pyx_1 = ((enum __pyx_t_6Recode_bool)PyInt_AsLong(__pyx_v_strict)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; goto __pyx_L1;} - ((struct __pyx_obj_6Recode_Outer *)__pyx_v_self)->outer = recode_new_outer(__pyx_1); + Py_INCREF(__pyx_v_auto_abort); + Py_INCREF(__pyx_v_no_iconv); + + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":569 */ + __pyx_v_flags = 0; + + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":570 */ + __pyx_1 = PyObject_IsTrue(__pyx_v_auto_abort); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; 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":572 */ + __pyx_1 = PyObject_IsTrue(__pyx_v_no_iconv); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; goto __pyx_L1;} + if (__pyx_1) { + __pyx_v_flags = (__pyx_v_flags | RECODE_NO_ICONV_FLAG); + goto __pyx_L3; + } + __pyx_L3:; + + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":574 */ + ((struct __pyx_obj_6Recode_Outer *)__pyx_v_self)->outer = recode_new_outer(__pyx_v_flags); + + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":575 */ + __pyx_1 = PyObject_IsTrue(__pyx_v_strict); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; goto __pyx_L1;} + if (__pyx_1) { + + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":576 */ + __pyx_v_single = ((struct __pyx_obj_6Recode_Outer *)__pyx_v_self)->outer->single_list; + + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":577 */ + while (1) { + __pyx_1 = (__pyx_v_single != NULL); + if (!__pyx_1) break; + + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":578 */ + __pyx_v_single->fallback_routine = NULL; + + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":579 */ + __pyx_v_single = __pyx_v_single->next; + } + goto __pyx_L4; + } + __pyx_L4:; __pyx_r = 0; goto __pyx_L0; @@ -165,6 +217,8 @@ static int __pyx_f_6Recode_5Outer___init__(PyObject *__pyx_v_self, PyObject *__p __pyx_L0:; Py_DECREF(__pyx_v_self); Py_DECREF(__pyx_v_strict); + Py_DECREF(__pyx_v_auto_abort); + Py_DECREF(__pyx_v_no_iconv); return __pyx_r; } @@ -192,21 +246,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":569 */ - __pyx_1 = PyList_New(0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":585 */ + __pyx_1 = PyList_New(0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; 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":571 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":587 */ __pyx_v_symbol = ((struct __pyx_obj_6Recode_Outer *)__pyx_v_self)->outer->symbol_list; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":572 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":588 */ while (1) { __pyx_2 = (__pyx_v_symbol != NULL); if (!__pyx_2) break; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":573 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":589 */ __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); @@ -218,12 +272,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 = 577; goto __pyx_L1;} - __pyx_3 = PyString_FromString(__pyx_v_symbol->name); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; goto __pyx_L1;} - __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; goto __pyx_L1;} + __pyx_1 = PyObject_GetAttr(__pyx_v_list, __pyx_n_append); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; goto __pyx_L1;} + __pyx_3 = PyString_FromString(__pyx_v_symbol->name); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; goto __pyx_L1;} + __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; 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 = 577; goto __pyx_L1;} + __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; @@ -231,11 +285,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":578 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":594 */ __pyx_v_symbol = __pyx_v_symbol->next; } - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":579 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":595 */ Py_INCREF(__pyx_v_list); __pyx_r = __pyx_v_list; goto __pyx_L0; @@ -268,29 +322,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":582 */ - __pyx_1 = PyList_New(0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":598 */ + __pyx_1 = PyList_New(0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; 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":584 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":600 */ __pyx_v_symbol = ((struct __pyx_obj_6Recode_Outer *)__pyx_v_self)->outer->symbol_list; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":585 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":601 */ while (1) { __pyx_2 = (__pyx_v_symbol != NULL); if (!__pyx_2) break; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":586 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":602 */ __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 = 587; goto __pyx_L1;} - __pyx_3 = PyString_FromString(__pyx_v_symbol->name); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; goto __pyx_L1;} - __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; goto __pyx_L1;} + __pyx_1 = PyObject_GetAttr(__pyx_v_list, __pyx_n_append); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; goto __pyx_L1;} + __pyx_3 = PyString_FromString(__pyx_v_symbol->name); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; goto __pyx_L1;} + __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; 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 = 587; goto __pyx_L1;} + __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; @@ -298,11 +352,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":588 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":604 */ __pyx_v_symbol = __pyx_v_symbol->next; } - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":589 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":605 */ Py_INCREF(__pyx_v_list); __pyx_r = __pyx_v_list; goto __pyx_L0; @@ -331,27 +385,27 @@ static PyObject *__pyx_f_6Recode_5Outer_concise_charset(PyObject *__pyx_v_self, int __pyx_3; int __pyx_4; static char *__pyx_argnames[] = {"format",0}; - __pyx_v_format = __pyx_k3; + __pyx_v_format = __pyx_k5; if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "|O", __pyx_argnames, &__pyx_v_format)) return 0; Py_INCREF(__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":592 */ - __pyx_1 = ((enum recode_list_format)PyInt_AsLong(__pyx_v_format)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; 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 = 592; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":608 */ + __pyx_1 = ((enum recode_list_format)PyInt_AsLong(__pyx_v_format)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; 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 = 608; 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":593 */ - __pyx_3 = PyObject_IsTrue(__pyx_v_ok); if (__pyx_3 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":609 */ + __pyx_3 = PyObject_IsTrue(__pyx_v_ok); if (__pyx_3 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; 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 = 594; goto __pyx_L1;} + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_error); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; goto __pyx_L1;} __Pyx_Raise(__pyx_2, 0, 0); Py_DECREF(__pyx_2); __pyx_2 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; goto __pyx_L1;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; goto __pyx_L1;} goto __pyx_L2; } __pyx_L2:; @@ -381,20 +435,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":597 */ - __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 = 597; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":613 */ + __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 = 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":598 */ - __pyx_2 = PyObject_IsTrue(__pyx_v_ok); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; 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 = 599; 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 = 599; goto __pyx_L1;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; goto __pyx_L1;} goto __pyx_L2; } __pyx_L2:; @@ -411,64 +465,6 @@ static PyObject *__pyx_f_6Recode_5Outer_full_charset(PyObject *__pyx_v_self, PyO return __pyx_r; } -static PyObject *__pyx_n_int; - -static PyObject *__pyx_f_6Recode_5Outer_set_iconv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyObject *__pyx_f_6Recode_5Outer_set_iconv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_flag = 0; - PyObject *__pyx_v_previous; - PyObject *__pyx_r; - PyObject *__pyx_1 = 0; - int __pyx_2; - PyObject *__pyx_3 = 0; - PyObject *__pyx_4 = 0; - enum __pyx_t_6Recode_bool __pyx_5; - static char *__pyx_argnames[] = {"flag",0}; - if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_flag)) return 0; - Py_INCREF(__pyx_v_self); - Py_INCREF(__pyx_v_flag); - __pyx_v_previous = Py_None; Py_INCREF(Py_None); - - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":602 */ - __pyx_1 = PyInt_FromLong((((struct __pyx_obj_6Recode_Outer *)__pyx_v_self)->outer->iconv_pivot->ignore == 0)); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; 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":603 */ - __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_int); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; goto __pyx_L1;} - __pyx_2 = PyObject_IsTrue(__pyx_v_flag); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; goto __pyx_L1;} - __pyx_3 = PyInt_FromLong((!__pyx_2)); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; goto __pyx_L1;} - __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; 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 = 603; goto __pyx_L1;} - Py_DECREF(__pyx_1); __pyx_1 = 0; - Py_DECREF(__pyx_4); __pyx_4 = 0; - __pyx_5 = ((enum __pyx_t_6Recode_bool)PyInt_AsLong(__pyx_3)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; goto __pyx_L1;} - Py_DECREF(__pyx_3); __pyx_3 = 0; - ((struct __pyx_obj_6Recode_Outer *)__pyx_v_self)->outer->iconv_pivot->ignore = __pyx_5; - - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":604 */ - Py_INCREF(__pyx_v_previous); - __pyx_r = __pyx_v_previous; - goto __pyx_L0; - - __pyx_r = Py_None; Py_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1:; - Py_XDECREF(__pyx_1); - Py_XDECREF(__pyx_3); - Py_XDECREF(__pyx_4); - __Pyx_AddTraceback("Recode.Outer.set_iconv"); - __pyx_r = 0; - __pyx_L0:; - Py_DECREF(__pyx_v_previous); - Py_DECREF(__pyx_v_self); - Py_DECREF(__pyx_v_flag); - return __pyx_r; -} - static int __pyx_f_6Recode_7Request___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_f_6Recode_7Request___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct __pyx_obj_6Recode_Outer *__pyx_v_outer = 0; @@ -477,7 +473,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 = 611; goto __pyx_L1;} + if (!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_outer), __pyx_ptype_6Recode_Outer, 1, "outer")) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; goto __pyx_L1;} ((struct __pyx_obj_6Recode_Request *)__pyx_v_self)->request = recode_new_request(__pyx_v_outer->outer); __pyx_r = 0; @@ -499,6 +495,8 @@ static void __pyx_f_6Recode_7Request___dealloc__(PyObject *__pyx_v_self) { Py_DECREF(__pyx_v_self); } +static PyObject *__pyx_n_int; + static PyObject *__pyx_f_6Recode_7Request_set_verbose(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyObject *__pyx_f_6Recode_7Request_set_verbose(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_flag = 0; @@ -514,25 +512,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":618 */ - __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 = 618; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":629 */ + __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 = 629; 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":619 */ - __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_int); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; goto __pyx_L1;} - __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":630 */ + __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_int); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; goto __pyx_L1;} + __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; 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 = 619; goto __pyx_L1;} + __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; 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 = 619; goto __pyx_L1;} + __pyx_4 = ((enum __pyx_t_6Recode_bool)PyInt_AsLong(__pyx_3)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; 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":620 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":631 */ Py_INCREF(__pyx_v_previous); __pyx_r = __pyx_v_previous; goto __pyx_L0; @@ -565,20 +563,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":623 */ - __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 = 623; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":634 */ + __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 = 634; 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":624 */ - __pyx_2 = PyObject_IsTrue(__pyx_v_ok); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; 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 = 625; 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 = 625; goto __pyx_L1;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; goto __pyx_L1;} goto __pyx_L2; } __pyx_L2:; @@ -611,38 +609,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":628 */ - __pyx_1 = PyList_New(0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":639 */ + __pyx_1 = PyList_New(0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; 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":631 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":642 */ __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":632 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":643 */ __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":633 */ - __pyx_1 = PyObject_GetAttr(__pyx_v_list, __pyx_n_append); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; goto __pyx_L1;} - __pyx_3 = PyString_FromString(__pyx_v_step.before->name); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; goto __pyx_L1;} - __pyx_4 = PyString_FromString(__pyx_v_step.after->name); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; goto __pyx_L1;} - __pyx_5 = PyTuple_New(2); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":644 */ + __pyx_1 = PyObject_GetAttr(__pyx_v_list, __pyx_n_append); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; goto __pyx_L1;} + __pyx_3 = PyString_FromString(__pyx_v_step.before->name); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; goto __pyx_L1;} + __pyx_4 = PyString_FromString(__pyx_v_step.after->name); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; goto __pyx_L1;} + __pyx_5 = PyTuple_New(2); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; 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 = 633; goto __pyx_L1;} + __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; 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 = 633; goto __pyx_L1;} + __pyx_4 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; 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":634 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":645 */ Py_INCREF(__pyx_v_list); __pyx_r = __pyx_v_list; goto __pyx_L0; @@ -678,32 +676,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":639 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":650 */ __pyx_v_outer = ((struct __pyx_obj_6Recode_Request *)__pyx_v_self)->request->outer; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":640 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":651 */ __pyx_v_saved = __pyx_v_outer->iconv_pivot->ignore; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":641 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":652 */ __pyx_v_outer->iconv_pivot->ignore = __pyx_e_6Recode_true; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":642 */ - __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 = 642; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":653 */ + __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 = 653; 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":644 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":655 */ __pyx_v_outer->iconv_pivot->ignore = __pyx_v_saved; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":645 */ - __pyx_2 = PyObject_IsTrue(__pyx_v_ok); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; goto __pyx_L1;} + /* "/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;} __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 = 646; goto __pyx_L1;} + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_error); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; goto __pyx_L1;} __Pyx_Raise(__pyx_1, 0, 0); Py_DECREF(__pyx_1); __pyx_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; goto __pyx_L1;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; goto __pyx_L1;} goto __pyx_L2; } __pyx_L2:; @@ -731,22 +729,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":650 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":661 */ __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":651 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":662 */ __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 = 652; goto __pyx_L1;} + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_error); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; goto __pyx_L1;} __Pyx_Raise(__pyx_2, 0, 0); Py_DECREF(__pyx_2); __pyx_2 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; goto __pyx_L1;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; goto __pyx_L1;} goto __pyx_L2; } __pyx_L2:; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":653 */ - __pyx_2 = PyString_FromString(__pyx_v_result); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":664 */ + __pyx_2 = PyString_FromString(__pyx_v_result); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; goto __pyx_L1;} __pyx_r = __pyx_2; __pyx_2 = 0; goto __pyx_L0; @@ -778,35 +776,35 @@ static PyObject *__pyx_f_6Recode_recode(PyObject *__pyx_self, PyObject *__pyx_ar if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "ss", __pyx_argnames, &__pyx_v_text, &__pyx_v_string)) return 0; __pyx_v_request = Py_None; Py_INCREF(Py_None); - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":672 */ - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_global_outer); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; goto __pyx_L1;} - __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":683 */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_global_outer); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; goto __pyx_L1;} + __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1); __pyx_1 = 0; - __pyx_1 = PyObject_CallObject(((PyObject*)__pyx_ptype_6Recode_Request), __pyx_2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; goto __pyx_L1;} + __pyx_1 = PyObject_CallObject(((PyObject*)__pyx_ptype_6Recode_Request), __pyx_2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; Py_DECREF(__pyx_v_request); __pyx_v_request = __pyx_1; __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":673 */ - __pyx_2 = PyObject_GetAttr(__pyx_v_request, __pyx_n_scan); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; goto __pyx_L1;} - __pyx_1 = PyString_FromString(__pyx_v_text); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; goto __pyx_L1;} - __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":684 */ + __pyx_2 = PyObject_GetAttr(__pyx_v_request, __pyx_n_scan); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; goto __pyx_L1;} + __pyx_1 = PyString_FromString(__pyx_v_text); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; goto __pyx_L1;} + __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_3, 0, __pyx_1); __pyx_1 = 0; - __pyx_1 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; goto __pyx_L1;} + __pyx_1 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":674 */ - __pyx_2 = PyObject_GetAttr(__pyx_v_request, __pyx_n_string); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; goto __pyx_L1;} - __pyx_3 = PyString_FromString(__pyx_v_string); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; goto __pyx_L1;} - __pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":685 */ + __pyx_2 = PyObject_GetAttr(__pyx_v_request, __pyx_n_string); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; goto __pyx_L1;} + __pyx_3 = PyString_FromString(__pyx_v_string); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; goto __pyx_L1;} + __pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_1, 0, __pyx_3); __pyx_3 = 0; - __pyx_3 = PyObject_CallObject(__pyx_2, __pyx_1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; goto __pyx_L1;} + __pyx_3 = PyObject_CallObject(__pyx_2, __pyx_1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; Py_DECREF(__pyx_1); __pyx_1 = 0; __pyx_r = __pyx_3; @@ -928,7 +926,6 @@ static struct PyMethodDef __pyx_methods_6Recode_Outer[] = { {"all_surfaces", (PyCFunction)__pyx_f_6Recode_5Outer_all_surfaces, METH_VARARGS|METH_KEYWORDS, 0}, {"concise_charset", (PyCFunction)__pyx_f_6Recode_5Outer_concise_charset, METH_VARARGS|METH_KEYWORDS, 0}, {"full_charset", (PyCFunction)__pyx_f_6Recode_5Outer_full_charset, METH_VARARGS|METH_KEYWORDS, 0}, - {"set_iconv", (PyCFunction)__pyx_f_6Recode_5Outer_set_iconv, METH_VARARGS|METH_KEYWORDS, 0}, {0, 0, 0, 0} }; @@ -1218,6 +1215,8 @@ PyMODINIT_FUNC initRecode(void) { PyObject *__pyx_1 = 0; PyObject *__pyx_2 = 0; PyObject *__pyx_3 = 0; + PyObject *__pyx_4 = 0; + PyObject *__pyx_5 = 0; __pyx_init_filenames(); __pyx_m = Py_InitModule4("Recode", __pyx_methods, 0, 0, PYTHON_API_VERSION); if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3; goto __pyx_L1;}; @@ -1226,336 +1225,344 @@ 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 = 559; goto __pyx_L1;} - if (PyObject_SetAttrString(__pyx_m, "Outer", (PyObject *)&__pyx_type_6Recode_Outer) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; goto __pyx_L1;} + if (PyType_Ready(&__pyx_type_6Recode_Outer) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; goto __pyx_L1;} + if (PyObject_SetAttrString(__pyx_m, "Outer", (PyObject *)&__pyx_type_6Recode_Outer) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; 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 = 608; goto __pyx_L1;} - if (PyObject_SetAttrString(__pyx_m, "Request", (PyObject *)&__pyx_type_6Recode_Request) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; goto __pyx_L1;} + if (PyType_Ready(&__pyx_type_6Recode_Request) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; goto __pyx_L1;} + if (PyObject_SetAttrString(__pyx_m, "Request", (PyObject *)&__pyx_type_6Recode_Request) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; goto __pyx_L1;} __pyx_ptype_6Recode_Request = &__pyx_type_6Recode_Request; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":481 */ - __pyx_1 = PyDict_New(); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; goto __pyx_L1;} - __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_Exception); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; goto __pyx_L1;} - __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":485 */ + __pyx_1 = PyDict_New(); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; goto __pyx_L1;} + __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_Exception); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; goto __pyx_L1;} + __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; 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 = 481; 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 = 481; 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":486 */ - __pyx_3 = PyInt_FromLong(RECODE_NO_SYMBOL_TYPE); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_SYMBOL_TYPE, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; 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 = 485; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":487 */ - __pyx_2 = PyInt_FromLong(RECODE_CHARSET); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_CHARSET, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_error, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":488 */ - __pyx_1 = PyInt_FromLong(RECODE_DATA_SURFACE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_DATA_SURFACE, __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":489 */ - __pyx_3 = PyInt_FromLong(RECODE_TREE_SURFACE); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_TREE_SURFACE, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":490 */ + __pyx_3 = PyInt_FromLong(RECODE_NO_SYMBOL_TYPE); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_SYMBOL_TYPE, __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":491 */ - __pyx_2 = PyInt_FromLong(RECODE_NO_CHARSET_DATA); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_CHARSET_DATA, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; goto __pyx_L1;} + __pyx_2 = PyInt_FromLong(RECODE_CHARSET); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_CHARSET, __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":492 */ - __pyx_1 = PyInt_FromLong(RECODE_STRIP_DATA); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_STRIP_DATA, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; goto __pyx_L1;} + __pyx_1 = PyInt_FromLong(RECODE_DATA_SURFACE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_DATA_SURFACE, __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":493 */ - __pyx_3 = PyInt_FromLong(RECODE_EXPLODE_DATA); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_EXPLODE_DATA, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; goto __pyx_L1;} + __pyx_3 = PyInt_FromLong(RECODE_TREE_SURFACE); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_TREE_SURFACE, __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":495 */ - __pyx_2 = PyInt_FromLong(RECODE_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SIZE_1, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; goto __pyx_L1;} + __pyx_2 = PyInt_FromLong(RECODE_NO_CHARSET_DATA); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_CHARSET_DATA, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":496 */ - __pyx_1 = PyInt_FromLong(RECODE_2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SIZE_2, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; goto __pyx_L1;} + __pyx_1 = PyInt_FromLong(RECODE_STRIP_DATA); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_STRIP_DATA, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":497 */ - __pyx_3 = PyInt_FromLong(RECODE_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SIZE_4, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; goto __pyx_L1;} + __pyx_3 = PyInt_FromLong(RECODE_EXPLODE_DATA); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_EXPLODE_DATA, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":498 */ - __pyx_2 = PyInt_FromLong(RECODE_N); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SIZE_N, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":499 */ + __pyx_2 = PyInt_FromLong(RECODE_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SIZE_1, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":500 */ - __pyx_1 = PyInt_FromLong(RECODE_NO_STEP_TABLE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_STEP_TABLE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; goto __pyx_L1;} + __pyx_1 = PyInt_FromLong(RECODE_2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SIZE_2, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":501 */ - __pyx_3 = PyInt_FromLong(RECODE_BYTE_TO_BYTE); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_BYTE_TO_BYTE, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; goto __pyx_L1;} + __pyx_3 = PyInt_FromLong(RECODE_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SIZE_4, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":502 */ - __pyx_2 = PyInt_FromLong(RECODE_BYTE_TO_STRING); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_BYTE_TO_STRING, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; goto __pyx_L1;} + __pyx_2 = PyInt_FromLong(RECODE_N); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SIZE_N, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":503 */ - __pyx_1 = PyInt_FromLong(RECODE_UCS2_TO_BYTE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_UCS2_TO_BYTE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":504 */ + __pyx_1 = PyInt_FromLong(RECODE_NO_STEP_TABLE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_STEP_TABLE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":504 */ - __pyx_3 = PyInt_FromLong(RECODE_UCS2_TO_STRING); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_UCS2_TO_STRING, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":505 */ + __pyx_3 = PyInt_FromLong(RECODE_BYTE_TO_BYTE); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_BYTE_TO_BYTE, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":505 */ - __pyx_2 = PyInt_FromLong(RECODE_STRING_TO_UCS2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_STRING_TO_UCS2, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":506 */ + __pyx_2 = PyInt_FromLong(RECODE_BYTE_TO_STRING); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_BYTE_TO_STRING, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":506 */ - __pyx_1 = PyInt_FromLong(RECODE_COMBINE_EXPLODE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_COMBINE_EXPLODE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":507 */ + __pyx_1 = PyInt_FromLong(RECODE_UCS2_TO_BYTE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_UCS2_TO_BYTE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":507 */ - __pyx_3 = PyInt_FromLong(RECODE_COMBINE_STEP); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_COMBINE_STEP, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":508 */ + __pyx_3 = PyInt_FromLong(RECODE_UCS2_TO_STRING); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_UCS2_TO_STRING, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; 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_EXPLODE_STEP); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_EXPLODE_STEP, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":509 */ + __pyx_2 = PyInt_FromLong(RECODE_STRING_TO_UCS2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_STRING_TO_UCS2, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":510 */ - __pyx_1 = PyInt_FromLong(RECODE_STRATEGY_UNDECIDED); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_STRATEGY_UNDECIDED, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; goto __pyx_L1;} + __pyx_1 = PyInt_FromLong(RECODE_COMBINE_EXPLODE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_COMBINE_EXPLODE, __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":511 */ - __pyx_3 = PyInt_FromLong(RECODE_SEQUENCE_IN_MEMORY); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SEQUENCE_IN_MEMORY, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; goto __pyx_L1;} + __pyx_3 = PyInt_FromLong(RECODE_COMBINE_STEP); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_COMBINE_STEP, __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":512 */ - __pyx_2 = PyInt_FromLong(RECODE_SEQUENCE_WITH_FILES); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SEQUENCE_WITH_FILES, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; goto __pyx_L1;} + __pyx_2 = PyInt_FromLong(RECODE_EXPLODE_STEP); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_EXPLODE_STEP, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; 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_SEQUENCE_WITH_PIPE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SEQUENCE_WITH_PIPE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":514 */ + __pyx_1 = PyInt_FromLong(RECODE_STRATEGY_UNDECIDED); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_STRATEGY_UNDECIDED, __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":515 */ - __pyx_3 = PyInt_FromLong(RECODE_SWAP_UNDECIDED); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SWAP_UNDECIDED, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; goto __pyx_L1;} + __pyx_3 = PyInt_FromLong(RECODE_SEQUENCE_IN_MEMORY); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SEQUENCE_IN_MEMORY, __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":516 */ - __pyx_2 = PyInt_FromLong(RECODE_SWAP_NO); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SWAP_NO, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; goto __pyx_L1;} + __pyx_2 = PyInt_FromLong(RECODE_SEQUENCE_WITH_FILES); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SEQUENCE_WITH_FILES, __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":517 */ - __pyx_1 = PyInt_FromLong(RECODE_SWAP_YES); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SWAP_YES, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; goto __pyx_L1;} + __pyx_1 = PyInt_FromLong(RECODE_SEQUENCE_WITH_PIPE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SEQUENCE_WITH_PIPE, __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":519 */ - __pyx_3 = PyInt_FromLong(RECODE_NO_ERROR); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_ERROR, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; goto __pyx_L1;} + __pyx_3 = PyInt_FromLong(RECODE_SWAP_UNDECIDED); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SWAP_UNDECIDED, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":520 */ - __pyx_2 = PyInt_FromLong(RECODE_NOT_CANONICAL); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_NOT_CANONICAL, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; goto __pyx_L1;} + __pyx_2 = PyInt_FromLong(RECODE_SWAP_NO); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SWAP_NO, __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":521 */ - __pyx_1 = PyInt_FromLong(RECODE_AMBIGUOUS_OUTPUT); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_AMBIGUOUS_OUTPUT, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; goto __pyx_L1;} + __pyx_1 = PyInt_FromLong(RECODE_SWAP_YES); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SWAP_YES, __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":522 */ - __pyx_3 = PyInt_FromLong(RECODE_UNTRANSLATABLE); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_UNTRANSLATABLE, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":523 */ + __pyx_3 = PyInt_FromLong(RECODE_NO_ERROR); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_ERROR, __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":523 */ - __pyx_2 = PyInt_FromLong(RECODE_INVALID_INPUT); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_INVALID_INPUT, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":524 */ + __pyx_2 = PyInt_FromLong(RECODE_NOT_CANONICAL); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_NOT_CANONICAL, __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":524 */ - __pyx_1 = PyInt_FromLong(RECODE_SYSTEM_ERROR); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SYSTEM_ERROR, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":525 */ + __pyx_1 = PyInt_FromLong(RECODE_AMBIGUOUS_OUTPUT); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_AMBIGUOUS_OUTPUT, __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":525 */ - __pyx_3 = PyInt_FromLong(RECODE_USER_ERROR); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_USER_ERROR, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":526 */ + __pyx_3 = PyInt_FromLong(RECODE_UNTRANSLATABLE); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_UNTRANSLATABLE, __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":526 */ - __pyx_2 = PyInt_FromLong(RECODE_INTERNAL_ERROR); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_INTERNAL_ERROR, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":527 */ + __pyx_2 = PyInt_FromLong(RECODE_INVALID_INPUT); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_INVALID_INPUT, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":527 */ - __pyx_1 = PyInt_FromLong(RECODE_MAXIMUM_ERROR); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_MAXIMUM_ERROR, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":528 */ + __pyx_1 = PyInt_FromLong(RECODE_SYSTEM_ERROR); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SYSTEM_ERROR, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":529 */ - __pyx_3 = PyInt_FromLong(RECODE_NO_FORMAT); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_FORMAT, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; goto __pyx_L1;} + __pyx_3 = PyInt_FromLong(RECODE_USER_ERROR); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_USER_ERROR, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":530 */ - __pyx_2 = PyInt_FromLong(RECODE_DECIMAL_FORMAT); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_DECIMAL_FORMAT, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; goto __pyx_L1;} + __pyx_2 = PyInt_FromLong(RECODE_INTERNAL_ERROR); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_INTERNAL_ERROR, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":531 */ - __pyx_1 = PyInt_FromLong(RECODE_OCTAL_FORMAT); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_OCTAL_FORMAT, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; goto __pyx_L1;} + __pyx_1 = PyInt_FromLong(RECODE_MAXIMUM_ERROR); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_MAXIMUM_ERROR, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; 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_HEXADECIMAL_FORMAT); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_HEXADECIMAL_FORMAT, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":533 */ + __pyx_3 = PyInt_FromLong(RECODE_NO_FORMAT); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_FORMAT, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; 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_FULL_FORMAT); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_FULL_FORMAT, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":534 */ + __pyx_2 = PyInt_FromLong(RECODE_DECIMAL_FORMAT); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_DECIMAL_FORMAT, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":535 */ - __pyx_1 = PyInt_FromLong(RECODE_NO_LANGUAGE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_LANGUAGE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; goto __pyx_L1;} + __pyx_1 = PyInt_FromLong(RECODE_OCTAL_FORMAT); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_OCTAL_FORMAT, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":536 */ - __pyx_3 = PyInt_FromLong(RECODE_LANGUAGE_C); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_LANGUAGE_C, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; goto __pyx_L1;} + __pyx_3 = PyInt_FromLong(RECODE_HEXADECIMAL_FORMAT); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_HEXADECIMAL_FORMAT, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":537 */ - __pyx_2 = PyInt_FromLong(RECODE_LANGUAGE_PERL); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_LANGUAGE_PERL, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; goto __pyx_L1;} + __pyx_2 = PyInt_FromLong(RECODE_FULL_FORMAT); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_FULL_FORMAT, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":539 */ - __pyx_1 = PyInt_FromLong(NUL); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_NUL, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; goto __pyx_L1;} + __pyx_1 = PyInt_FromLong(RECODE_NO_LANGUAGE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_NO_LANGUAGE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":540 */ - __pyx_3 = PyInt_FromLong(STRIP_SIZE); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_STRIP_SIZE, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; goto __pyx_L1;} + __pyx_3 = PyInt_FromLong(RECODE_LANGUAGE_C); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_LANGUAGE_C, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":542 */ - __pyx_2 = PyInt_FromLong(SYMBOL_CREATE_CHARSET); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SYMBOL_CREATE_CHARSET, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":541 */ + __pyx_2 = PyInt_FromLong(RECODE_LANGUAGE_PERL); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_LANGUAGE_PERL, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":543 */ - __pyx_1 = PyInt_FromLong(SYMBOL_CREATE_DATA_SURFACE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SYMBOL_CREATE_DATA_SURFACE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; goto __pyx_L1;} + __pyx_1 = PyInt_FromLong(NUL); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_NUL, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":544 */ - __pyx_3 = PyInt_FromLong(SYMBOL_CREATE_TREE_SURFACE); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_SYMBOL_CREATE_TREE_SURFACE, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; goto __pyx_L1;} + __pyx_3 = PyInt_FromLong(STRIP_SIZE); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_STRIP_SIZE, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":545 */ - __pyx_2 = PyInt_FromLong(ALIAS_FIND_AS_CHARSET); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_ALIAS_FIND_AS_CHARSET, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":546 */ + __pyx_2 = PyInt_FromLong(SYMBOL_CREATE_CHARSET); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SYMBOL_CREATE_CHARSET, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":546 */ - __pyx_1 = PyInt_FromLong(ALIAS_FIND_AS_SURFACE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_ALIAS_FIND_AS_SURFACE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":547 */ + __pyx_1 = PyInt_FromLong(SYMBOL_CREATE_DATA_SURFACE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SYMBOL_CREATE_DATA_SURFACE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":547 */ - __pyx_3 = PyInt_FromLong(ALIAS_FIND_AS_EITHER); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_ALIAS_FIND_AS_EITHER, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":548 */ + __pyx_3 = PyInt_FromLong(SYMBOL_CREATE_TREE_SURFACE); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_SYMBOL_CREATE_TREE_SURFACE, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":549 */ - __pyx_2 = PyInt_FromLong(DONE); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_xDONE, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; goto __pyx_L1;} + __pyx_2 = PyInt_FromLong(ALIAS_FIND_AS_CHARSET); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_ALIAS_FIND_AS_CHARSET, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":550 */ - __pyx_1 = PyInt_FromLong(ELSE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_xELSE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; goto __pyx_L1;} + __pyx_1 = PyInt_FromLong(ALIAS_FIND_AS_SURFACE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_ALIAS_FIND_AS_SURFACE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":552 */ - __pyx_3 = PyInt_FromLong(REPLACEMENT_CHARACTER); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_REPLACEMENT_CHARACTER, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":551 */ + __pyx_3 = PyInt_FromLong(ALIAS_FIND_AS_EITHER); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_ALIAS_FIND_AS_EITHER, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":553 */ - __pyx_2 = PyInt_FromLong(NOT_A_CHARACTER); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_NOT_A_CHARACTER, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; goto __pyx_L1;} + __pyx_2 = PyInt_FromLong(DONE); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_xDONE, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":554 */ - __pyx_1 = PyInt_FromLong(BYTE_ORDER_MARK); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_BYTE_ORDER_MARK, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; goto __pyx_L1;} + __pyx_1 = PyInt_FromLong(ELSE); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_xELSE, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; goto __pyx_L1;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":556 */ + __pyx_3 = PyInt_FromLong(REPLACEMENT_CHARACTER); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_REPLACEMENT_CHARACTER, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; goto __pyx_L1;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":557 */ + __pyx_2 = PyInt_FromLong(NOT_A_CHARACTER); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_NOT_A_CHARACTER, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; goto __pyx_L1;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":558 */ + __pyx_1 = PyInt_FromLong(BYTE_ORDER_MARK); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_BYTE_ORDER_MARK, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":555 */ - __pyx_3 = PyInt_FromLong(BYTE_ORDER_MARK_SWAPPED); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_BYTE_ORDER_MARK_SWAPPED, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":559 */ + __pyx_3 = PyInt_FromLong(BYTE_ORDER_MARK_SWAPPED); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_BYTE_ORDER_MARK_SWAPPED, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":562 */ - __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; goto __pyx_L1;} + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":566 */ + __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; goto __pyx_L1;} __pyx_k2 = __pyx_2; __pyx_2 = 0; - - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":591 */ - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_NO_FORMAT); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; goto __pyx_L1;} + __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; goto __pyx_L1;} __pyx_k3 = __pyx_1; __pyx_1 = 0; + __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; goto __pyx_L1;} + __pyx_k4 = __pyx_3; + __pyx_3 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":669 */ - __pyx_3 = PyObject_CallObject(((PyObject*)__pyx_ptype_6Recode_Outer), 0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 669; goto __pyx_L1;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_global_outer, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 669; goto __pyx_L1;} - Py_DECREF(__pyx_3); __pyx_3 = 0; + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":607 */ + __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_NO_FORMAT); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; goto __pyx_L1;} + __pyx_k5 = __pyx_4; + __pyx_4 = 0; + + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":680 */ + __pyx_5 = PyObject_CallObject(((PyObject*)__pyx_ptype_6Recode_Outer), 0); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; goto __pyx_L1;} + if (PyObject_SetAttr(__pyx_m, __pyx_n_global_outer, __pyx_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; goto __pyx_L1;} + Py_DECREF(__pyx_5); __pyx_5 = 0; - /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":671 */ + /* "/bpi/phenix/home/pinard/entretien/recode/tests/Recode.pyx":682 */ return; __pyx_L1:; Py_XDECREF(__pyx_1); Py_XDECREF(__pyx_2); Py_XDECREF(__pyx_3); + Py_XDECREF(__pyx_4); + Py_XDECREF(__pyx_5); __Pyx_AddTraceback("Recode"); } diff --git a/tests/Recode.pyx b/tests/Recode.pyx index 22c6b5a..01f92d8 100644 --- a/tests/Recode.pyx +++ b/tests/Recode.pyx @@ -214,7 +214,7 @@ cdef extern from "common.h": struct recode_outer: bool auto_abort - bool auto_reversibility + bool use_iconv # charset.c: recode_known_pair *pair_restriction unsigned pair_restrictions @@ -443,7 +443,11 @@ cdef extern from "common.h": ## Recode library at OUTER level. - RECODE_OUTER recode_new_outer(bool) + enum: + RECODE_AUTO_ABORT_FLAG + RECODE_NO_ICONV_FLAG + + 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) @@ -559,8 +563,20 @@ BYTE_ORDER_MARK_SWAPPED = BYTE_ORDER_MARK_SWAPPED_ cdef class Outer: cdef RECODE_OUTER outer - def __init__(self, strict=False): - self.outer = recode_new_outer(strict) + def __init__(self, strict=False, auto_abort=False, no_iconv=False): + cdef int flags + cdef RECODE_SINGLE single + flags = 0 + if auto_abort: + flags = flags | RECODE_AUTO_ABORT_FLAG + if no_iconv: + flags = flags | RECODE_NO_ICONV_FLAG + self.outer = recode_new_outer(flags) + if strict: + single = self.outer.single_list + while single is not NULL: + single.fallback_routine = NULL + single = single.next def __dealloc__(self): recode_delete_outer(self.outer) @@ -598,11 +614,6 @@ cdef class Outer: if not ok: raise error - def set_iconv(self, flag): - previous = self.outer.iconv_pivot.ignore == 0 - self.outer.iconv_pivot.ignore = int(not flag) - return previous - # Recode library at REQUEST level. cdef class Request: