citrus_iso2022 can't treat wildcard G2 buffer with SS2.

Issue #78 closed
Takehiko NOZAKI repo owner created an issue

related Issue #77.

VARIABLE        "MAX2 INIT0=94B 0=94 0=94$ 2=96 2=96$ SS2"

assigning G2 buffer with wild card 2=96 (G2=CS96) or 2=96$ (G2=CS96MULTI) doesn't work correctly.

Comments (5)

  1. Takehiko NOZAKI reporter

    it seems recommendation() doesn't work intentionaly because of bug.

    diff --git a/lib/libc/citrus/modules/citrus_iso2022.c b/lib/libc/citrus/modules/citrus_iso2022.c
    index 1756c23..c2e0787 100644
    --- a/lib/libc/citrus/modules/citrus_iso2022.c
    +++ b/lib/libc/citrus/modules/citrus_iso2022.c
    @@ -976,9 +976,9 @@ recommendation(_ISO2022EncodingInfo * __restrict ei,
                    for (j = 0; j < ei->recommendsize[i]; j++) {
                            if (cs->type != recommend[j].type)
                                    continue;
    -                       if (cs->final && (cs->final != recommend[j].final))
    +                       if (recommend[j].final && (cs->final != recommend[j].final))
                                    continue;
    -                       if (cs->interm && (cs->interm != recommend[j].interm))
    +                       if (recommend[j].interm && (cs->interm != recommend[j].interm))
                                    continue;
    
                            return i;
    
  2. Log in to comment