#include <zzip/fseeko.h>
#include <stdlib.h>
#include <string.h>
+#include <sys/stat.h>
#include "unzzipcat-zip.h"
#ifdef ZZIP_HAVE_FNMATCH_H
}
}
+static void makedirs(const char* name)
+{
+ char* p = strrchr(name, '/');
+ if (p) {
+ char* dir_name = strndup(name, p-name);
+ makedirs(dir_name);
+ free (dir_name);
+ } else {
+ mkdir(name, 775);
+ errno = 0;
+ }
+}
static FILE* create_fopen(char* name, char* mode, int subdirs)
{
char* p = strrchr(name, '/');
if (p) {
char* dir_name = strndup(name, p-name);
- // makedirs(dir_name); // TODO
+ makedirs(dir_name);
free (dir_name);
}
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <sys/stat.h>
#include "unzzipcat-zip.h"
#ifdef ZZIP_HAVE_UNISTD_H
}
}
+static void makedirs(const char* name)
+{
+ char* p = strrchr(name, '/');
+ if (p) {
+ char* dir_name = strndup(name, p-name);
+ makedirs(dir_name);
+ free (dir_name);
+ } else {
+ mkdir(name, 775);
+ errno = 0;
+ }
+}
+
static FILE* create_fopen(char* name, char* mode, int subdirs)
{
if (subdirs)
char* p = strrchr(name, '/');
if (p) {
char* dir_name = strndup(name, p-name);
- // makedirs(dir_name); // TODO
+ makedirs(dir_name);
free (dir_name);
}
}
return fopen(name, mode);
}
-
static int unzzip_cat (int argc, char ** argv, int extract)
{
int argn;
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <sys/stat.h>
#include "unzzipcat-zip.h"
#ifdef ZZIP_HAVE_UNISTD_H
}
}
+static void makedirs(const char* name)
+{
+ char* p = strrchr(name, '/');
+ if (p) {
+ char* dir_name = strndup(name, p-name);
+ makedirs(dir_name);
+ free (dir_name);
+ } else {
+ mkdir(name, 775);
+ errno = 0;
+ }
+}
+
static FILE* create_fopen(char* name, char* mode, int subdirs)
{
if (subdirs)
char* p = strrchr(name, '/');
if (p) {
char* dir_name = strndup(name, p-name);
- // makedirs(dir_name); // TODO
+ makedirs(dir_name);
free (dir_name);
}
}
return fopen(name, mode);
}
-
static int unzzip_cat (int argc, char ** argv, int extract)
{
int argn;
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <sys/stat.h>
#include "unzzipcat-zip.h"
#ifdef ZZIP_HAVE_UNISTD_H
}
}
+static void makedirs(const char* name)
+{
+ char* p = strrchr(name, '/');
+ if (p) {
+ char* dir_name = strndup(name, p-name);
+ makedirs(dir_name);
+ free (dir_name);
+ } else {
+ mkdir(name, 775);
+ errno = 0;
+ }
+}
+
static FILE* create_fopen(char* name, char* mode, int subdirs)
{
if (subdirs)
char* p = strrchr(name, '/');
if (p) {
char* dir_name = strndup(name, p-name);
- // makedirs(dir_name); // TODO
+ makedirs(dir_name);
free (dir_name);
}
}
return fopen(name, mode);
}
-
static int unzzip_cat (int argc, char ** argv, int extract)
{
int argn;