so why try to code it so compactly?  I think your second version is more
readable.  The fact that that version does not have the bug kind of proves
that, no?

fwiw, I prefer using "for" for most C loops:
  for( long i = count ; i > 0 ; i-- )
    {
    *dest = toascii(*src) ;
    ++dest ;
    ++src ;
    }

-Steve

-----Original Message-----
From: c400-l-bounces@xxxxxxxxxxxx [mailto:c400-l-bounces@xxxxxxxxxxxx]On
Behalf Of Beppe Costagliola
Sent: Tuesday, August 17, 2004 10:17 AM
To: C programming iSeries / AS400
Subject: Re: [C400-L] Re: Ebcdic2ascii


Barbara,
the error is in statement
"while (count-- |= 0)"

Actually the vertical bar was a translation error (because with codepage 280
we have to put in source different symbols, for braces, square brackets,
etc)

However this does not work:

while (count-- != 0) à
        *dest++ = toascii¬*srce++|;
è

but this one does:

long i;
i = count;
while (i != 0) à
   *dest++ = toascii¬*srce++|;
   i--;
è


----- Original Message -----
From: "Barbara Morris" <bmorris@xxxxxxxxxx>
To: <C400-L@xxxxxxxxxxxx>
Sent: Tuesday, August 17, 2004 4:09 PM
Subject: [C400-L] Re: Ebcdic2ascii


> Beppe Costagliola wrote:
> > void
> > ebcdic2ascii(char *dest, const char *srce, size_t count)
> > {
> >         while (count-- |= 0) {
> >                 *dest++ = toascii[*srce++];
> >         }
> > }
> >
> > ===============
> >
> > when I compile I get the error: CZM0025  the operand must be a lvalue
modifiable
> >
>
> It would be helpful if you said where the error was being issued against
> ...
>
> Just a guess, but I think the problem is here:
>        while (count-- |= 0) {
> You are trying to assign two different things to "count".  The "or
> equal" (|=) and the "decrement" (--).  I think you meant to use !=
> rather than |=.
>
> _______________________________________________
> This is the C programming iSeries / AS400 (C400-L) mailing list
> To post a message email: C400-L@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/c400-l
> or email: C400-L-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/c400-l.
>

_______________________________________________
This is the C programming iSeries / AS400 (C400-L) mailing list
To post a message email: C400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/c400-l
or email: C400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/c400-l.



This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2019 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].