Following up on r1836306, provide an alternative fix for allowing things like "svn commit -F <(echo foo)" that doesn't require a more expens…
Following up on r1836306, provide an alternative fix for allowing thingslike "svn commit -F <(echo foo)" that doesn't require a more expensiveapr_file_info_get(APR_FINFO_SIZE | APR_FINFO_TYPE) syscall in thelow-level and commonly used function.Instead of additionally blacklisting APR_PIPE handles, rework the code towork under the conditions where `finfo.size` may be wrong. That is, try toread one more byte than necessary, expect to see an EOF, but if we don't(e.g., for pipes), fall through to reading the remaining part of the filechunk-by-chunk.This approach should work correctly under all possible cases where `finfo.size` is incorrect, and also allows to just ask for APR_FINFO_SIZE, whichis generally cheaper. At least on Windows, this uses GetFileSizeEx() andresults in a single syscall.* subversion/libsvn_subr/io.c (stringbuf_from_aprfile): Replace the additional blacklist condition for APR_PIPEs with the approach described above.