In_DirName is never set in this example code.
You need to:
In_DurName = %str(dirname);
Also, you shouldn't need to add the NULL termination (x'00') at the end.
James R. Perkins
"Shannon ODonnell" <sodonnell@xxxxxxxxxxxxxxxxxxxxxxxxx>
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
05.10.2007 14:46
Please respond to
RPG programming on the AS400 / iSeries <rpg400-l@xxxxxxxxxxxx>
To
"'RPG programming on the AS400 / iSeries'" <rpg400-l@xxxxxxxxxxxx>
cc
Subject
Open Directory Failing
Can anyone suggest why this might not be working?
If I hard code a directory path where PathName is, it works. If I pass a
directory into the program in an *ENTRY PLIST, it doesn't.
DOpenDir PR * EXTPROC('opendir')
D dirname * VALUE
D In_DirName S 640
D PathName S 640
C eval PathName = %Trimr(In_DirName) +
C %Trim(x'00')
C eval dirName = OpenDir(%addr(PathName))
C If dirName = *NULL
I've also tried it with using options(*STRING) on the prototype and not
passing the address.
I'm sure it's something simple but I'm not seeing it.
Thanks in advance!
Shannon O'Donnell
This mailing list archive is Copyright 1997-2026 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.