diff --git a/main.c b/main.c index 0036a43..45f6bc7 100644 --- a/main.c +++ b/main.c @@ -354,22 +354,17 @@ bool create_manifest_file(char const *project_path) { fputs("Error: Cannot create manifest: Cannot get current working directory.\n", stderr); return false; } else { - name = malloc((strlen(cwd)+1)*sizeof(char)); - strcpy(name, cwd); + name = basename(cwd); } } else { name = basename((char *)project_path); } - char *fname; - for (i = strlen(name) - 1; i >= 0; i--) { - if (name[i] == '/') { - fname = name + i + 1; - break; - } - } - char *uname = get_username(); + if (!uname) { + fputs("Error: Cannot create manifest: Cannot get username.\n", stderr); + return false; + } FILE *fd = fopen(text_format("%s/" MANIFEST_FNAME, project_path), "w+"); if (fd == NULL) { @@ -377,7 +372,7 @@ bool create_manifest_file(char const *project_path) { return false; } - fprintf(fd, SAMPLE_MANIFEST, fname, uname); + fprintf(fd, SAMPLE_MANIFEST, name, uname); fclose(fd);