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:
M | stagit.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");