в общем написал функцию рекурсивного создания каталогов, что-то типа mkdir -p «/bla/bla/bla» но выдает какую-то нелепую ошибку или просто глаз замылился, в общем помогите пожалуйста
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <errno.h>
#define MAX_FILENAME_LEN 256
#define Err -1;
#define Succ 0;
#define FOLDER_SEPARATOR "/"
typedef int RC_t;
RC_t create_dir_rec(char *name, mode_t mode)
{
char tmp[MAX_FILENAME_LEN], dir[MAX_FILENAME_LEN];
int i, ret;
RC_t rc = Succ;
if (strlen(name) >= MAX_FILENAME_LEN) {
return Err;
}
strcpy(tmp, name);
for (;(strncmp(&tmp[strlen(tmp) - 1], FOLDER_SEPARATOR, 1) == 0)&&(*tmp != '\0');tmp[strlen(tmp) - 1] = '\0');
for (i = 0; tmp[i] != '\0'; i++) {
if (strncmp(&tmp[i], FOLDER_SEPARATOR, 1) == 0) {
strncpy(dir, tmp, i + 1);
dir[i + 1] = '\0';
//printf("\"%s\"\n", dir);
if ( (ret = mkdir(dir, mode)) == -1) {
if (ret == EEXIST) {
continue;
} else {
perror("mkdir");
rc = Err;
break;
}
}
}
}
if (rc == Err) {
return Err;
} else {
printf("\"%s\"\n", tmp);
return Succ;
}
}
int main(void)
{
create_dir_rec("/tmp/asd/zxc/qwer//poiu//hello////", S_IRUSR|S_IWUSR|S_IRWXG|S_IRGRP);
return 0;
}
вот код ошибки
rec.c: In function ‘create_dir_rec’:
rec.c:45:12: error: expected ‘)’ before ‘;’ token