Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!samsung!munnari.oz.au!uhccux!bt455s10 From: bt455s10@uhccux.uhcc.hawaii.edu (Carl "Art" McIntosh) Newsgroups: comp.sys.ncr Subject: Re: mkdir() Summary: OS 2.01.00 undocumented mkdir() Message-ID: <6045@uhccux.uhcc.hawaii.edu> Date: 6 Jan 90 00:07:19 GMT References: <5849@uhccux.uhcc.hawaii.edu> <25350001@hpisod2.HP.COM> Reply-To: bt455s10@uhccux.UUCP (Carl "Art" McIntosh) Organization: University of Hawaii Lines: 32 NO, the mkdir() function is *completely* undocumented in OS 2.01.00, furthermore, it is broken. I ran across the following problem when installing perl 3.0 patchlevel 8 on our NCR Tower 32/650. perl compiled ok except for a minor problem with optimizer labels, which was fixed via -W2,-Sl,2000 ... when I ran "make test", op.mkdir failed on test 3. I posted an article to the net, and a knowledgable fellow in Oslo, Norway sent me mail pointing me to the problem. I verifyed the problem with a small C test program. It seems mkdir.o exists in /lib/libc.a, /lib/libcieee and /lib/libc88.a, is NOT documented in the programmers ref, and has NO manpage on the system. It does NOT set errno when an error is encountered. The program below demonstrates the problem. main() { if (mkdir("art") == -1) printf("%d\n", errno); } use mkdir(1) to create an "art" directory before running the program. The output from the above program is "25", which corresponds to ENOTTY (Not a typerwriter) in /usr/include/sys/errno.h. You can use ar(1) easily enough to remove the offending routine, in which case the perl 3.0 Configure will NOT define it and /bin/mkdir will be forked instead. Art Neilson Bank of Hawaii Tech Support ARPA: manapua!pilikia!root@trout.nosc.mil UUCP: {uunet,ucbvax,dcdwest}!ucsd!nosc!manapua!pilikia!root