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. Signed-off-by: H.Merijn Brand <h.m.brand@xxxxxxxxx> --- diff -pur git-1.5.4a/remote.c git-1.5.4b/remote.c --- git-1.5.4a/remote.c 2008-01-27 09:04:18 +0100 +++ git-1.5.4/remote.c 2008-02-08 17:38:43 +0100 @@ -121,9 +121,18 @@ static struct branch *make_branch(const return branches[empty]; } +/* Helper function to ensure that we are opening a file and not a directory */ +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")); +} + static void read_remotes_file(struct remote *remote) { - FILE *f = fopen(git_path("remotes/%s", remote->name), "r"); + FILE *f = open_file(git_path("remotes/%s", remote->name)); if (!f) return; @@ -173,7 +182,7 @@ static void read_branches_file(struct re char *frag; char *branch; int n = slash ? slash - remote->name : 1000; - FILE *f = fopen(git_path("branches/%.*s", n, remote->name), "r"); + FILE *f = open_file(git_path("branches/%.*s", n, remote->name)); char *s, *p; int len; -- git-1.5.4 -- 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