[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
z/OS and symlink()
From: |
Daniel Richard G. |
Subject: |
z/OS and symlink() |
Date: |
Mon, 27 Feb 2017 16:29:02 -0500 |
Currently, test-symlink and test-symlinkat are failing on z/OS:
$ ./test-symlink
.../test-symlink.h:64: assertion 'errno == ENOTDIR || errno == ENOENT'
failed
CEE5207E The signal SIGABRT was received.
ABORT instruction
$ ./test-symlinkat
.../test-symlink.h:64: assertion 'errno == ENOTDIR || errno == ENOENT'
failed
CEE5207E The signal SIGABRT was received.
ABORT instruction
What happens in both cases is that errno == EINVAL. If I add that to the
ASSERT() condition at lines 63 and 84 of test-symlink.h (as of a3fd683d),
then these two tests pass.
IBM documents EINVAL as a possible return value for symlink():
https://www.ibm.com/support/knowledgecenter/SSLTBW_2.2.0/com.ibm.zos.v2r1.bpxb100/sym.htm
(symlinkat() does not appear to exist on this platform.)
However, the GNU/Linux man pages for symlink() and symlinkat() make no
mention of EINVAL. I don't know if this is a reasonable platform
variation, or a technical violation of POSIX. (If the latter, then I can
push this to IBM and they'll at least take it seriously.)
Please advise,
--Daniel
--
Daniel Richard G. || address@hidden
My ASCII-art .sig got a bad case of Times New Roman.
- z/OS and symlink(),
Daniel Richard G. <=