mirror of
https://git.freebsd.org/ports.git
synced 2025-06-01 19:06:28 -04:00
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
69 lines
2.1 KiB
Text
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;
|
|
}
|