From: Armaan Bhojwani Date: Sun, 7 Mar 2021 14:13:37 +0000 (-0500) Subject: Implement cp function instead of system(cp) X-Git-Url: https://git.armaanb.net/?p=stagit.git;a=commitdiff_plain;h=92dbe7e9ac04fcc6fec6b963538d059cdc8202fc Implement cp function instead of system(cp) --- diff --git a/stagit.c b/stagit.c index fdcfc0a..2d00203 100644 --- a/stagit.c +++ b/stagit.c @@ -70,6 +70,28 @@ static char lastoidstr[GIT_OID_HEXSZ + 2]; /* id + newline + NUL byte */ static FILE *rcachefp, *wcachefp; static const char *cachefile; +int cp(char fileSource[], char fileDestination[]) +{ + int c; + FILE *stream_R, *stream_W; + + stream_R = fopen(fileSource, "r"); + if (stream_R == NULL) + return -1; + stream_W = fopen(fileDestination, "w"); //create and write to file + if (stream_W == NULL) + { + fclose(stream_R); + return -2; + } + while ((c = fgetc(stream_R)) != EOF) + fputc(c, stream_W); + fclose(stream_R); + fclose(stream_W); + + return 0; +} + void joinpath(char *buf, size_t bufsiz, const char *path, const char *path2) { @@ -1146,6 +1168,13 @@ main(int argc, char *argv[]) else name = ""; + /* copy css */ + char cwd[PATH_MAX]; + strcpy(cwd, getcwd(cwd, sizeof(cwd))); + cp("/usr/local/share/doc/stagit/syntax.css", strcat(cwd, "/syntax.css")); + strcpy(cwd, getcwd(cwd, sizeof(cwd))); + cp("/usr/local/share/doc/stagit/style.css", strcat(cwd, "/style.css")); + /* strip .git suffix */ if (!(strippedname = strdup(name))) err(1, "strdup"); @@ -1259,8 +1288,6 @@ main(int argc, char *argv[]) writefiles(fp, head); writefooter(fp); fclose(fp); - system("cp /usr/local/share/doc/stagit/style.css ."); - system("cp /usr/local/share/doc/stagit/syntax.css ."); /* summary page with branches and tags */ fp = efopen("refs.html", "w");