aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukáš Lalinský <lalinsky@gmail.com>2008-02-19 19:52:04 +0000
committerLukáš Lalinský <lalinsky@gmail.com>2008-02-19 19:52:04 +0000
commit705fa9d79bc1537c1b52cc053dabcaa5fb824ea9 (patch)
tree6b60515c08c17d1cd62637e7e11497a3c31af442
parent8cfcb4823f0a871ed5a90ade76b8796e9937950e (diff)
Fix compilation on MSVC/Windows
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@777124 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
-rw-r--r--examples/CMakeLists.txt1
-rw-r--r--examples/framelist.cpp1
-rw-r--r--examples/tagwriter.cpp5
-rw-r--r--taglib/mpeg/id3v2/id3v2framefactory.cpp2
-rw-r--r--taglib/toolkit/tfile.cpp19
5 files changed, 18 insertions, 10 deletions
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 <iostream>
#include <stdlib.h>
-#include <unistd.h>
#include <tbytevector.h>
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 <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
-#include <unistd.h>
#include <stdlib.h>
#include <tlist.h>
@@ -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)