I ran into some problems when part or the entire PATH given to apr_dir_make_recursive is already an existing file and thought an update to the description could be helpful.

'svn diff' below:

Index: include/apr_file_io.h
--- include/apr_file_io.h    (revision 1515197)
+++ include/apr_file_io.h    (working copy)
@@ -885,8 +885,9 @@
                                        apr_pool_t *pool);
 /** Creates a new directory on the file system, but behaves like
- * 'mkdir -p'. Creates intermediate directories as required. No error
- * will be reported if PATH already exists.
+ * 'mkdir -p'. Creates intermediate directories as required unless one of these
+ * resolves to a file on the file system. In this case an error is thrown. No error
+ * will be reported if the PATH already exists, even if it is to an existing file.
  * @param path the path for the directory to be created. (use / on all systems)
  * @param perm Permissions for the new directory.
  * @param pool the pool to use.

Petter Berntsen