String Parameters of Various Lengths
June 19, 2002 Timothy Prickett Morgan
Hey, Ted:
In the May 29 issue of Midrange Guru, OS/400 Edition, you describe a method for passing string parameters of variable length to a subprocedure. This possibility has some risks.
The subprocedure must guarantee that it only changes the data passed to it by the caller.
For example, suppose a parameter field in the called program or procedure is defined with a length of 15 bytes. A calling procedure passes five bytes. The API CEEDOD determines a length of five bytes, which is correct, but the length of the parameter field is however unchanged. If contents of the parameter field are changed by operations like CLEAR or EVAL, all 15 bytes are changed. The consequence is that storage areas are overwritten. Global variables in the calling program or procedure can be destroyed. I just spent two days finding such an error.
— Birgitta
Sponsored By JACADA |
Research on Presentation Integration Server Market
Many changes have occurred in the presentation integration server market according to Gartner’s most recent Magic Quadrant research. Jacada is positioned in the leader quadrant for the fifth year in a row. This is important research for anyone planning presentation integration server projects. View the report courtesy/with compliments of Jacada at http://www.jacada.com/gartner/quadrant32 |