ports/www/srg/files/patch-src_output.cc
Adriaan de Groot 73e95cf679 www/srg Fix build with Clang6
output.cc:101:22: error: cannot initialize an array element of
	type 'char *' with an rvalue of type 'char'

The patches explain the changes. In short, weird types and weird
initializations, normal for 2013-ish.

Reported by:	linimon
2018-07-04 10:37:44 +00:00

36 lines
1.1 KiB
C++

Fix with Clang6:
- Weird type for buffer for fread()
- Initialization of base through another buffer
--- src/output.cc.orig 2018-07-04 10:31:59 UTC
+++ src/output.cc
@@ -98,7 +98,7 @@ void init_file(const char *filename)
/* Copy data */
while (!feof(source)) {
- char *buf[4096] = {'\0'};
+ char buf[4096] = {'\0'};
int c = fread((void *)&buf[0], 1, 4096, source);
fwrite((void *)&buf[0], 1, c, dest);
}
@@ -118,7 +118,8 @@ void html_header(FILE *outfile, const char *rootpath)
* file will reside in to the top level output directory. This string
* is only used if srg.outputURL is not set
*/
- char *base="";
+ static char _base[]="";
+ char *base=_base;
if (strlen(srg.outputURL)==0 && strlen(rootpath)>0) {
base = strdup(rootpath);
@@ -173,7 +174,8 @@ void html_footer(FILE *outfile, const char *rootpath)
* file will reside in to the top level output directory. This string
* is only used if srg.outputURL is not set
*/
- char *base="";
+ static char _base[] = "";
+ char *base=_base;
if (strlen(srg.outputURL)==0 && strlen(rootpath)>0)
base = strdup(rootpath);