Staging
v0.8.1
v0.8.1
Revision 22e885e6d89a5aadd9ed2f7f36f5ae83cc77de74 authored by Junio C Hamano on 02 April 2008, 07:22:15 UTC, committed by Junio C Hamano on 02 April 2008, 07:22:15 UTC
* dd/cvsserver: cvsserver: Use the user part of the email in log and annotate results cvsserver: Add test for update -p cvsserver: Implement update -p (print to stdout) cvsserver: Add a few tests for 'status' command cvsserver: Do not include status output for subdirectories if -l is passed cvsserver: Only print the file part of the filename in status header cvsserver: Respond to the 'editors' and 'watchers' commands
fopen.c
#include "../git-compat-util.h"
#undef fopen
FILE *git_fopen(const char *path, const char *mode)
{
FILE *fp;
struct stat st;
if (mode[0] == 'w' || mode[0] == 'a')
return fopen(path, mode);
if (!(fp = fopen(path, mode)))
return NULL;
if (fstat(fileno(fp), &st)) {
fclose(fp);
return NULL;
}
if (S_ISDIR(st.st_mode)) {
fclose(fp);
errno = EISDIR;
return NULL;
}
return fp;
}
Computing file changes ...