]> granicus.if.org Git - taglib/commitdiff
Fix compilation fo the test runner on Windows
authorLukáš Lalinský <lalinsky@gmail.com>
Fri, 22 Jan 2010 13:30:05 +0000 (13:30 +0000)
committerLukáš Lalinský <lalinsky@gmail.com>
Fri, 22 Jan 2010 13:30:05 +0000 (13:30 +0000)
Patch by Stephen Hewitt

git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1078612 283d02a7-25f6-0310-bc7c-ecb5cbfe19da

tests/utils.h

index bc566d2d76deb94771dec9a835389edc5d868c0e..ad61d284710e15a312dd0cf516dffbbfc10e97c9 100644 (file)
@@ -1,8 +1,12 @@
-#include <string>
-#include <stdio.h>
+#ifdef _WIN32
+#include <windows.h>
+#else
 #include <unistd.h>
 #include <fcntl.h>
 #include <sys/fcntl.h>
+#endif
+#include <stdio.h>
+#include <string>
 
 using namespace std;
 
@@ -10,6 +14,10 @@ inline string copyFile(const string &filename, const string &ext)
 {
   string newname = string(tempnam(NULL, NULL)) + ext;
   string oldname = string("data/") + filename + ext;
+#ifdef _WIN32
+  CopyFile(oldname.c_str(), newname.c_str(), FALSE);
+  SetFileAttributes(newname.c_str(), GetFileAttributes(newname.c_str()) & ~FILE_ATTRIBUTE_READONLY);
+#else
   char buffer[4096];
   int bytes;
   int inf = open(oldname.c_str(), O_RDONLY);
@@ -18,6 +26,7 @@ inline string copyFile(const string &filename, const string &ext)
     write(outf, buffer, bytes);
   close(outf);
   close(inf);
+#endif
   return newname;
 }