diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 1c06f7cf..50711d07 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -1,6 +1,7 @@ if(BUILD_EXAMPLES) INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR}/../taglib ${CMAKE_CURRENT_SOURCE_DIR}/../taglib/toolkit + ${CMAKE_CURRENT_SOURCE_DIR}/../taglib/ape ${CMAKE_CURRENT_SOURCE_DIR}/../taglib/mpeg ${CMAKE_CURRENT_SOURCE_DIR}/../taglib/mpeg/id3v1 ${CMAKE_CURRENT_SOURCE_DIR}/../taglib/mpeg/id3v2 diff --git a/examples/framelist.cpp b/examples/framelist.cpp index 58a4c32c..dbe80feb 100644 --- a/examples/framelist.cpp +++ b/examples/framelist.cpp @@ -24,7 +24,6 @@ #include #include -#include #include diff --git a/examples/tagwriter.cpp b/examples/tagwriter.cpp index 0f81e8db..63163fbe 100644 --- a/examples/tagwriter.cpp +++ b/examples/tagwriter.cpp @@ -28,7 +28,6 @@ #include #include #include -#include #include #include @@ -46,7 +45,11 @@ bool isArgument(const char *s) bool isFile(const char *s) { struct stat st; +#ifdef _WIN32 + return ::stat(s, &st) == 0 && (st.st_mode & (S_IFREG)); +#else return ::stat(s, &st) == 0 && (st.st_mode & (S_IFREG | S_IFLNK)); +#endif } void usage() diff --git a/taglib/mpeg/id3v2/id3v2framefactory.cpp b/taglib/mpeg/id3v2/id3v2framefactory.cpp index 5d245cb2..48a20221 100644 --- a/taglib/mpeg/id3v2/id3v2framefactory.cpp +++ b/taglib/mpeg/id3v2/id3v2framefactory.cpp @@ -98,7 +98,7 @@ Frame *FrameFactory::createFrame(const ByteVector &origData, Header *tagHeader) // characters. Also make sure that there is data in the frame. if(!frameID.size() == (version < 3 ? 3 : 4) || - header->frameSize() <= (header->dataLengthIndicator() ? 4 : 0) || + header->frameSize() <= uint(header->dataLengthIndicator() ? 4 : 0) || header->frameSize() > data.size()) { delete header; diff --git a/taglib/toolkit/tfile.cpp b/taglib/toolkit/tfile.cpp index 4869a17a..dcb86a28 100644 --- a/taglib/toolkit/tfile.cpp +++ b/taglib/toolkit/tfile.cpp @@ -91,18 +91,23 @@ File::FilePrivate::FilePrivate(FileName fileName) : #ifdef _WIN32 - file = _wfopen(name, L"rb+"); + if(wcslen((const wchar_t *) fileName) > 0) { - if(file) - readOnly = false; - else - file = _wfopen(name, L"rb"); + file = _wfopen(name, L"rb+"); - if(file) - return; + if(file) + readOnly = false; + else + file = _wfopen(name, L"rb"); + + if(file) + return; + + } #endif + debug("trying ot use char"); file = fopen(name, "rb+"); if(file)