On Fri, 08 Feb 2008 12:09:46 -0800, Junio C Hamano <gitster@xxxxxxxxx> wrote: > "H.Merijn Brand" <h.m.brand@xxxxxxxxx> writes: > > > HP-UX allows directories to be opened with fopen (path, "r"), which > > will cause some translations that expect to read files, read dirs > > instead. This patch makes sure the two fopen () calls in remote.c > > only open the file if it is a file. > > > +static FILE *open_file(char *full_path) > > +{ > > + struct stat st_buf; > > + if (stat(full_path, &st_buf) || !S_ISREG(st_buf.st_mode)) > > + return NULL; > > + return (fopen(full_path, "r")); > > +} > > Can we make this a platform specific "compat" hack? > > It is not fair to force stat() overhead to ports on platforms > that fails fopen() on directories, The two I patched were in remote.c and do not happen on every file if I analyzed it correctly, so overhead would be minimal. However, as I read the rest of the discussion already, your approach to fix all fopen () calls at once seems very reasonable. Can I get the patch when it is submitted? > as I doubt we would ever want from directory using fopen() anyway. I didn't check -- H.Merijn Brand Amsterdam Perl Mongers (http://amsterdam.pm.org/) using & porting perl 5.6.2, 5.8.x, 5.10.x on HP-UX 10.20, 11.00, 11.11, & 11.23, SuSE 10.1 & 10.2, AIX 5.2, and Cygwin. http://qa.perl.org http://mirrors.develooper.com/hpux/ http://www.test-smoke.org http://www.goldmark.org/jeff/stupid-disclaimers/ - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html