stagit

Personal stagit fork
git clone git://git.alexwennerberg.com/stagit
Log | Files | Refs | README | LICENSE

commit 92dbe7e9ac04fcc6fec6b963538d059cdc8202fc
parent aefbcecf6e44e8ebf147bdb808f00236be8c96d4
Author: Armaan Bhojwani <me@armaanb.net>
Date:   Sun,  7 Mar 2021 09:13:37 -0500

Implement cp function instead of system(cp)

Diffstat:
Mstagit.c | 31+++++++++++++++++++++++++++++--
1 file changed, 29 insertions(+), 2 deletions(-)

diff --git 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");