Hi,
thanks for discovering the bug, I'm sorry that I did not find it during my tests. Regarding a possible solution, I have the following comment:
We could resolve it in 3 different files: extrahd.pl - which actually emits the output by a PRINT statement (line 51) which looks a little bit like a debug statement. Nevertheless, it might make sense that this file gives some output.
extrahdctrl.c - which only calls the extrahd.pl, but might be used by users in the commandline, so removing/redirecting the stdout could make sense, but still it might be that users actually expect output here. Alternatively, a --quiet option could be introduced here that suppresses the output.
extrahd.cgi - which is used by the web-frontend. Here, the "system" call could be exchanged with an "qx" call or backticks, which would maybe make it more explicit that we are not using stdout at this point. The commands could then be unchanged. I'm not a perl expert, so I'm not familiar if qx is preferred over system when the stdout should be ignored. In php, exec would be more appropriate, I suppose.
Best regards, Wolfgang
On 03.10.2017 13:19, Wolfgang Apolinarski wrote:
Hi,
Hello,
thanks for discovering the bug, I'm sorry that I did not find it during my tests. Regarding a possible solution, I have the following comment:
We could resolve it in 3 different files: extrahd.pl - which actually emits the output by a PRINT statement (line 51) which looks a little bit like a debug statement. Nevertheless, it might make sense that this file gives some output.
Jm2C: That is exactly what I'm still thinking: debug output. Where could this "print"-output be used, anyway?
extrahdctrl.c - which only calls the extrahd.pl, but might be used by users in the commandline, so removing/redirecting the stdout could make sense, but still it might be that users actually expect output here. Alternatively, a --quiet option could be introduced here that suppresses the output.
One more: I'm NO programmer, but in this file I'm actually missing a "return 0;" at the "penultimate" line (Sorry => "vorletzte Zeile" => Google translator ;-) ). Nearly all other *.c-files in '/src/misc-progs' have one.
extrahd.cgi - which is used by the web-frontend. Here, the "system" call could be exchanged with an "qx" call or backticks, which would maybe make it more explicit that we are not using stdout at this point. The commands could then be unchanged. I'm not a perl expert, so I'm not familiar if qx is preferred over system when the stdout should be ignored. In php, exec would be more appropriate, I suppose.
Handling this is - far - beyond my knowledge... ;-)
Best, Matthias