| Server IP : 82.208.35.60 / Your IP : 216.73.216.89 Web Server : Apache/2.4.55 (FreeBSD) OpenSSL/1.1.1q-freebsd PHP/7.3.31 System : FreeBSD server7.d2m.cz 12.4-RELEASE-p9 FreeBSD 12.4-RELEASE-p9 GENERIC amd64 User : studiokobylisy_cz ( 1008) PHP Version : 7.3.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/ports/textproc/modlogan/files/ |
Upload File : |
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;
}