Markus Neteler wrote: > It should probably not silently fail. > > The code in question is in > lib/manage/do_copy.c
M_do_copy() returns a status. g.copy's main() checks that and uses it to set the exit status, but it doesn't generate an error or warning if the status is non-zero. If G_recursive_copy() or M_do_copy() raised an error, that would result in the program aborting on the first error; at present, it copies as much as it can. Realistically, g.copy() should be generating the error at the bottom of main() if result is non-zero. E.g. - exit(result); + if (result) + G_fatal_error(...); + return 0; > and potentially there to be added strerror(errno) as for example in > lib/gis/mapset_msc.c That would require G_recursive_copy() to call G_warning() (with the appropriate strerror(errno)) for each failed system call. Either that, or G_recursive_copy() would have to generate a "log" of failures so that the caller can report them. -- Glynn Clements <[email protected]> _______________________________________________ grass-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/grass-dev
