gcc 4.6.3 (present in Ubuntu 12.04) is smart enough to look at
get_size and see that it does not always assign to *size_out, but not
smart enough to figure out that it always assigns to *size_out when it
returns 0. As a result, it outputs two warnings which we treat as
errors. Add an initial assignment to *size_out at the beginning of
get_size to work around this.
ticket: 8026
{
struct stat sb;
+ *size_out = 0;
if (fstat(fileno(fp), &sb) == -1)
return interpret_errno(context, errno);
if (sizeof(off_t) > sizeof(size_t) && sb.st_size > (off_t)SIZE_MAX)