|
Hi Hans, Thanks for the explanation. It's cool to know how things work "on the inside". Okay, so a little more layman... An end of field pointer is used to indicate the end of the field, and after a %trim it is set to the end of the actual data (right?) So what if the data doesn't start in position 1? Doesn't the %trim "clip" the data from the right and left of the data? Is there a "pointer" for the beginning of data? Well, I probably don't know what I'm talking about enough to ask any more "haven't got a clue" questions so please, nitpick away... Jerry >>> <boldt@ca.ibm.com> 07/22 5:00 AM >>> Jerry wrote: > Yes, the result is = 4, I just tried it, nothing else to do, > the %len obviously doesn't count the null characters in the > field after the %trim. pretty cool, Well, I don't mean to nitpick, but there are no null characters in the field after the %trim. "C" convention uses the null character to indicate the end of a character string. But in RPG IV, we maintain a separate length attribute. For char varying fields, the length is a 16-bit unsigned number at the beginning of the fields storage. (Within expressions, though, the length is held in some temporary variable.) Within a char varying field, the characters following the logical end of the data can be anything, but they're ignored by RPG. In order to support the character string BIF's, we actually had support for the character varying type within expressions since V3R1. However, we didn't get around to actually adding the varying data types until V4R2. Priorities, you know. If you need to pass a null terminated string to a "C" function, use keyword OPTIONS(*STRING). Or to use a null terminated string as a normal RPG IV char field, use built-in function %STR. Cheers! Hans Hans Boldt, ILE RPG Development, IBM Toronto Lab, boldt@ca.ibm.com * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * This is the RPG/400 Discussion Mailing List! To submit a new * * message, send your mail to "RPG400-L@midrange.com". To unsubscribe * * from this list send email to MAJORDOMO@midrange.com and specify * * 'unsubscribe RPG400-L' in the body of your message. Questions should * * be directed to the list owner / operator: david@midrange.com * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * This is the RPG/400 Discussion Mailing List! To submit a new * * message, send your mail to "RPG400-L@midrange.com". To unsubscribe * * from this list send email to MAJORDOMO@midrange.com and specify * * 'unsubscribe RPG400-L' in the body of your message. Questions should * * be directed to the list owner / operator: david@midrange.com * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
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.