X-Git-Url: http://Server1/repobrowser/?p=xestiacalendar%2F.git;a=blobdiff_plain;f=source%2Fcommon%2Ffile.cpp;h=9e4e448cf5a2912c75e62ef5e60dd824dd4fafd2;hp=da236b31b9f6f925f36e7ed17b8c9ac5bedc045a;hb=49789773e2797383c866dca470fb99e80cb49e41;hpb=9f8384349b3a6fee3160ad6f835d7ec7b1b2d93f diff --git a/source/common/file.cpp b/source/common/file.cpp index da236b3..9e4e448 100644 --- a/source/common/file.cpp +++ b/source/common/file.cpp @@ -1,23 +1,59 @@ +// file.cpp - File functions. +// +// (c) 2012-2017 Xestia Software Development. +// +// This file is part of Xestia Calendar. Originally from Xestia Address Book. +// +// Xestia Calendar is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by the +// Free Software Foundation, version 3 of the license. +// +// Xestia Calendar is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with Xestia Calendar. If not, see + #include "file.h" using namespace std; -bool FileExists(std::string Filename){ +bool FileExists(std::string filename){ -#if defined (__WIN32__) +#if defined (WIN32) #else - const char *FilenameChar = Filename.c_str(); + struct stat bufferData; + + if (stat(filename.c_str(), &bufferData) == -1){ + return false; + } + +#endif - int rescode = access(FilenameChar, R_OK); + return true; - if (errno == ENOENT){ +} + +bool FileExists(std::wstring filename) { + +#if defined (WIN32) + + return PathFileExists(filename.c_str()); + +#else + + struct stat bufferData; + + if (stat(filename.c_str(), &bufferData) == -1) { return false; } #endif return true; - + } \ No newline at end of file