/**************************************\
 *                                    *
 *    scritto da zero per CloseBSD    *
 *                                    *
 *    ultima modifica: 13/10/2026     *
 *                                    *
\**************************************/

// ndir "/" segfault

#include <stdio.h>
#include <string.h>
#include <sys/stat.h>

int main(int argc, char *argv[])
{
	char *dir, path[30];
	
	if (argc < 2) {
		printf("%s: manca argomento\n", argv[0]);
		return 1;
	}

	/*
	 *  se arg comincia per '/' strcpy() in path, se no copia '\0',
	 *  cosi' da poter usare lo strcat().
	 */
	if (argv[1][0] == '/')
		strcpy(path, "/");
	else strcpy(path, "\0");

	dir = strtok(argv[1], "/");
	strcat(path, dir);
	while (dir != NULL) {
		if (mkdir(path, 0755) == 0)
			printf("\tcreata: %s\n", path);
		else perror(path);
		if (path[strlen(path) - 1] != '/')
			strcat(path, "/");
		dir = strtok(NULL, "/");
		if (dir != NULL)
			strcat(path, dir);
	}

	return 0;
}
