parent
e133427bb7
commit
ebdef40c7a
@ -0,0 +1,28 @@
|
||||
#include "dir.h"
|
||||
|
||||
#include <sys/stat.h>
|
||||
#include <libgen.h>
|
||||
#include <string.h>
|
||||
|
||||
void mkdir_p( char* buffer, int mode )
|
||||
{
|
||||
if( !*buffer || buffer[1] == '/' ) { return; }
|
||||
|
||||
struct stat s = {0};
|
||||
dirname(buffer);
|
||||
if( -1 == stat(buffer,&s) ) {
|
||||
mkdir_p( buffer, mode );
|
||||
}
|
||||
|
||||
buffer[strlen(buffer)] = '/';
|
||||
mkdir( buffer, mode );
|
||||
}
|
||||
void util_dir_create_containing( const char* buffer, int mode )
|
||||
{
|
||||
int size = strlen(buffer);
|
||||
char buffer2[size+1];
|
||||
strncpy( buffer2, buffer, size+1 );
|
||||
|
||||
mkdir_p(dirname(buffer2), 0640 );
|
||||
}
|
||||
|
Loading…
Reference in new issue