|
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.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 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].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.