Commit 207c7df7 authored by Richard Levitte's avatar Richard Levitte
Browse files

Remove the access() call altogether for VMS, since it doesn't quite

work for directory specifications (this will be reported as a bug to
DEC^H^H^HCompaq).  It could as well be removed for all others as well,
since stat() and open() will return appropriate errors as well, but I
leave that to someone else to decide.
parent 5f5b8d2b
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -587,17 +587,23 @@ bad:
			BIO_printf(bio_err,"there needs to be defined a directory for new certificate to be placed in\n");
			goto err;
			}
#ifdef VMS
		/* For technical reasons, VMS misbehaves with X_OK */
		if (access(outdir,R_OK|W_OK) != 0)
#else
#ifndef VMS /* outdir is a directory spec, but access() for VMS demands a
	       filename.  In any case, stat(), below, will catch the problem
	       if outdir is not a directory spec, and the fopen() or open()
	       will catch an error if there is no write access.

	       Presumably, this problem could also be solved by using the DEC
	       C routines to convert the directory syntax to Unixly, and give
	       that to access().  However, time's too short to do that just
	       now.
            */
		if (access(outdir,R_OK|W_OK|X_OK) != 0)
#endif
			{
			BIO_printf(bio_err,"I am unable to access the %s directory\n",outdir);
			perror(outdir);
			goto err;
			}
#endif

		if (stat(outdir,&sb) != 0)
			{