The <source>_traverse_files functions take a callback for processing
files, but both the local and libpq source implementations called the
function directly without using the callback argument. While there is
no bug right now as the function called is the same as the callback,
fix by calling the callback to reduce the risk of subtle bugs in the
future.
Author: Junwang Zhao <zhjwpku@gmail.com>
Reviewed-by: Richard Guo <guofenglinux@gmail.com>
Discussion: https://postgr.es/m/CAEG8a3Jdwgh+PZr2zh1=t8apA4Yz8tKq+uubPqoCt14nvWKHEw@mail.gmail.com
else
type = FILE_TYPE_REGULAR;
- process_source_file(path, type, filesize, link_target);
+ callback(path, type, filesize, link_target);
}
PQclear(res);
}
static void
local_traverse_files(rewind_source *source, process_file_callback_t callback)
{
- traverse_datadir(((local_source *) source)->datadir, &process_source_file);
+ traverse_datadir(((local_source *) source)->datadir, callback);
}
static char *