Commit 216a3935 authored by yangguo@chromium.org's avatar yangguo@chromium.org

second attempt at correcting fopen (hangs when trying to read from a dir)

Review URL: http://codereview.chromium.org/7334010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8611 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 54e81c35
......@@ -37,6 +37,7 @@
#include <sys/resource.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <arpa/inet.h>
#include <netinet/in.h>
......@@ -130,7 +131,14 @@ int OS::GetLastError() {
//
FILE* OS::FOpen(const char* path, const char* mode) {
return fopen(path, mode);
FILE* file = fopen(path, mode);
if (file == NULL) return NULL;
struct stat file_stat;
if (fstat(fileno(file), &file_stat) != 0) return NULL;
bool is_regular_file = ((file_stat.st_mode & S_IFREG) != 0);
if (is_regular_file) return file;
fclose(file);
return NULL;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment