On Sun, 8 Apr 2012 11:15:55 -0700, Sam Siegel wrote: > >Paul - Thanks for the tips. The code does not create any path segments. > You're welcome.
>My goal here is to be able to point the user to the reference manuals so >they can determine what is appropriate for their use. It is >their responsibility to allocate a buffer large enough to hold any >path/file name they create. When they call my function, they provide the >address of the buffer and the number of bytes in the buffer. A new buffer >is allocated (specified size + 2) and the specified number of bytes are >copied and a tailing x'0000' is appended. My buffer is passed to the >C/C++ runtime fopen function. If the path/filename provided is invalid, >the open fails and the error is returned to the caller. > Sounds like assembler code insofar as it uses address/length rather than a null-terminated string. So portability is less a concern. >It is >their responsibility to allocate a buffer large enough to hold any >path/file name they create. In which case, it depends not on a system limit nor on any limit in your code, but on how long a pathname the user intends to create. From what I glean from POSIX and the z/390 C/C++ RTL, the limits are to be regarded as dynamic, and available from dynamic queries by: http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/edclb1b0/3.661 3.661 pathconf() -- Determine configurable path name variables which sounds sort of circular: in order to ask how long a pathname is allowed, you must provide some sort of pathname (in the same filesystem?) as input. The operant word is "configurable"; i.e. subject to change. The underlying Assembler callable service is: http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/bpxzb1b0/2.126 2.126 pathconf (BPX1PCF, BPX4PCF) (Yes, when I first learned about this, I thought it was BS; PITA.) -- gil ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN