ports/textproc/modlogan/files/patch-cssfile-writting
Chris Rees 0dd7579209 Various spelling corrections
PR:		ports/175331
Submitted by:	Christoph Mallon
Approved by:	No objections within three weeks from any maintainer

While here, style and duplicate phrase fixes in bsdcflow pkg-descr

Submitted by:	mi
2013-02-09 12:00:52 +00:00

69 lines
2.1 KiB
Text

Index: src/output/modlogan/generate.c
===================================================================
RCS file: /cvsroot/modlogan/modlogan/src/output/modlogan/generate.c,v
retrieving revision 1.100
diff -u -u -r1.100 generate.c
--- src/output/modlogan/generate.c 27 Aug 2004 18:41:37 -0000 1.100
+++ src/output/modlogan/generate.c 12 Aug 2006 21:33:45 -0000
@@ -515,7 +515,7 @@
t2 = sl->data->data.brokenlink.timestamp;
if ((t2 - t1) >= 60) {
- snprintf(str, sizeof(str)-1, "%5ld %s", (t2 - t1) / 60, _("min"));
+ snprintf(str, sizeof(str)-1, "%5ld %s", (t2 - t1) / 60L, _("min"));
} else {
snprintf(str, sizeof(str)-1, " < 1 %s", _("min"));
}
@@ -1366,23 +1366,44 @@
strerror(errno));
return -1;
}
+ fclose(f2); /* we don't use it below, so I assume it is used to
+ * check if it is there... maybe it was used to copy
+ * by hand in a previous version */
/* build destination filename */
filename = (char *)malloc(strlen(conf->outputdir) + strlen("/modlogan.css") + 1);
if (!filename) return -1;
sprintf(filename, "%s/modlogan.css", conf->outputdir);
- (void)unlink(filename);
- ret = symlink(conf->cssfile, filename);
- free(filename);
+ if (strcmp("modlogan.css", conf->cssfile) == 0 ||
+ strcmp(filename, conf->cssfile) == 0) {
+ fprintf(stderr, "CSS-definition points to itself (%s -> %s), please change the 'cssfile' config option\n",
+ filename,
+ conf->cssfile);
- if (ret != 0) {
- fprintf(stderr, "writing CSS-definition for %s failed: %s\n",
- conf->outputdir,
+ /* cleanup */
+ free(filename);
+
+ return -1;
+ }
+
+ ret = unlink(filename);
+ if(ret == 0 || (ret == -1 && errno == ENOENT)) {
+ /* If no error occurred or the file didn't existed: link it. */
+
+ ret = symlink(conf->cssfile, filename);
+ if (ret != 0) {
+ fprintf(stderr, "writing CSS-definition for %s failed: %s\n",
+ conf->outputdir,
+ strerror(errno));
+ }
+ } else {
+ fprintf(stderr, "unlinking CSS-definition %s failed: %s\n",
+ filename,
strerror(errno));
}
- /* Close the css source file */
- fclose(f2);
+
+ free(filename);
return 0;
}