Been without power here since Tuesday and probably won’t have power until
the weekend, so I won’t be able to review anything.

On Thu, Aug 6, 2020 at 1:51 PM Rony G. Flatscher <rony.flatsc...@wu.ac.at>
wrote:

> Please review the fixes.
>
> If there are no objections I will apply the patch of #1716 (it also
> includes the patch for bug #1715) together with test units to test for them.
>
> ---rony
>
>
> On 06.08.2020 19:47, Rony G. Flatscher wrote:
>
> The bug report in <https://sourceforge.net/p/oorexx/bugs/1716/>
> <https://sourceforge.net/p/oorexx/bugs/1716/> includes a patch that fixes
> this.
>
> ---rony
>
>
> On 05.08.2020 15:16, Rony G. Flatscher wrote:
>
> Having received error reports from users of BSF4ooRexx like
>
>      2 *-* /**/@
> Error 13 running 
> rexx_invoked_via_[fxml_01.fxml]_at_2020_08_05T12_33_24_17Z.rex line 2:  
> Invalid character in program.
> Error 13.1:  Incorrect character in program "@" ('40'X).
>
> and looking up the execution paths in those cases, it turns out that the
> ooRexx .routine class gets used to create the executable in those cases
> with a string array representing the compiled and encoded Rexx program.
>
> So the "new" method of the .routine class gets the compiled and encoded
> source supplied as an array of strings, e.g.:
>
> #!/usr/bin/env rexx
> /**/@REXX@
> LyoqL0BSRVhYAAAAAAAAAGcrKgAgAAAAVOwAAAAAAABwEgAAVPq7VhgAAAACAAAAAAAAAAAA
> AAAAAAAAgB68ViAAAAACAAAAKAAAAAAAAABwAAAAOAAAAAAAAADkSrxWOAAAAAIAAAAFAACA
> ... cut ...
>
> Supplying the compiled and encoded data as a single string to the .routine
> class does not work as this issues the error "13.1, Invalid character in
> program" caused by the presence of a LF ('0A'x) character, here a rexxtry
> example:
>
> infile=.stream~new("nutshell_01.rex-compiled")~~open("read")
>   ........................................... rexxtry.rex on WindowsNT
> pgm=infile~charin(infile~chars)
>   ........................................... rexxtry.rex on WindowsNT
> infile~close
>   ........................................... rexxtry.rex on WindowsNT
> r1=.routine~new("aha",pgm)
>   Oooops ! ... try again.     Invalid character in program.
>                               Incorrect character in program "
> " ('0A'X).
>   rc = 13.1 ................................. rexxtry.rex on WindowsNT
>
> As a compiled and encoded form of a Rexx program always has the string
> "/**/@REXX@" as the value for its second line it would be possible to
> determine that the String array comes from a compiled and encoded Rexx
> program. Rather than creating an error in this case, the routine object
> could get created successfully from the String array representing a
> compiled and encoded Rexx program.
> Are there any objections to try to enhance the "new" method of the
> .routine (and the .method) class such that the string array can represent a
> compiled and encoded Rexx program?
>
> ---rony
>
>
> _______________________________________________
> Oorexx-devel mailing list
> Oorexx-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to