From 8f95378c3be89c06c722da03ddbd3641c4fc2323 Mon Sep 17 00:00:00 2001
From: Andrei Karas <akaras@inbox.ru>
Date: Wed, 29 Mar 2017 22:41:26 +0300
Subject: Move rwops code into virtfs namespace.

---
 src/fs/virtfs/virtfsrwops.cpp         | 100 ++++++++++++++++------------------
 src/fs/virtfs/virtfsrwops.h           |  33 +++++++++--
 src/gui/fonts/font.cpp                |   2 +-
 src/integrity_unittest.cc             |   8 +--
 src/resources/atlas/atlasmanager.cpp  |   2 +-
 src/resources/loaders/imageloader.cpp |   2 +-
 src/resources/loaders/musicloader.cpp |   2 +-
 src/resources/loaders/soundloader.cpp |   2 +-
 src/test/testlauncher.cpp             |   4 +-
 9 files changed, 86 insertions(+), 69 deletions(-)

diff --git a/src/fs/virtfs/virtfsrwops.cpp b/src/fs/virtfs/virtfsrwops.cpp
index f44cc6601..e66748967 100644
--- a/src/fs/virtfs/virtfsrwops.cpp
+++ b/src/fs/virtfs/virtfsrwops.cpp
@@ -52,17 +52,9 @@
 
 #include "debug.h"
 
-#ifdef USE_SDL2
-#define RWOPSINT int64_t
-#define RWOPSSIZE size_t
-#else  // USE_SDL2
-#define RWOPSINT int32_t
-#define RWOPSSIZE int
-#endif  // USE_SDL2
-
-static RWOPSINT virtfsrwops_seek(SDL_RWops *const rw,
-                                 const RWOPSINT offset,
-                                 const int whence)
+RWOPSINT VirtFs::rwops_seek(SDL_RWops *const rw,
+                            const RWOPSINT offset,
+                            const int whence)
 {
     if (!rw)
         return -1;
@@ -80,14 +72,14 @@ static RWOPSINT virtfsrwops_seek(SDL_RWops *const rw,
         if (current == -1)
         {
             logger->assertLog(
-                "virtfsrwops_seek: Can't find position in file.");
+                "VirtFs::rwops_seek: Can't find position in file.");
             return -1;
         } /* if */
 
         pos = CAST_S32(current);
         if (static_cast<int64_t>(pos) != current)
         {
-            logger->assertLog("virtfsrwops_seek: "
+            logger->assertLog("VirtFs::rwops_seek: "
                 "Can't fit current file position in an int!");
             return -1;
         } /* if */
@@ -102,14 +94,14 @@ static RWOPSINT virtfsrwops_seek(SDL_RWops *const rw,
         const int64_t len = VirtFs::fileLength(handle);
         if (len == -1)
         {
-            logger->assertLog("virtfsrwops_seek:Can't find end of file.");
+            logger->assertLog("VirtFs::rwops_seek:Can't find end of file.");
             return -1;
         } /* if */
 
         pos = static_cast<RWOPSINT>(len);
         if (static_cast<int64_t>(pos) != len)
         {
-            logger->assertLog("virtfsrwops_seek: "
+            logger->assertLog("VirtFs::rwops_seek: "
                 "Can't fit end-of-file position in an int!");
             return -1;
         } /* if */
@@ -118,30 +110,30 @@ static RWOPSINT virtfsrwops_seek(SDL_RWops *const rw,
     } /* else if */
     else
     {
-        logger->assertLog("virtfsrwops_seek: Invalid 'whence' parameter.");
+        logger->assertLog("VirtFs::rwops_seek: Invalid 'whence' parameter.");
         return -1;
     } /* else */
 
     if (pos < 0)
     {
-        logger->assertLog("virtfsrwops_seek: "
+        logger->assertLog("VirtFs::rwops_seek: "
             "Attempt to seek past start of file.");
         return -1;
     } /* if */
 
     if (!VirtFs::seek(handle, static_cast<uint64_t>(pos)))
     {
-        logger->assertLog("virtfsrwops_seek: seek error.");
+        logger->assertLog("VirtFs::rwops_seek: seek error.");
         return -1;
     } /* if */
 
     return pos;
-} /* virtfsrwops_seek */
+} /* VirtFs::rwops_seek */
 
-static RWOPSSIZE virtfsrwops_read(SDL_RWops *const rw,
-                                  void *const ptr,
-                                  const RWOPSSIZE size,
-                                  const RWOPSSIZE maxnum)
+RWOPSSIZE VirtFs::rwops_read(SDL_RWops *const rw,
+                             void *const ptr,
+                             const RWOPSSIZE size,
+                             const RWOPSSIZE maxnum)
 {
     if (!rw)
         return 0;
@@ -154,17 +146,17 @@ static RWOPSSIZE virtfsrwops_read(SDL_RWops *const rw,
     {
         if (!VirtFs::eof(handle)) /* not EOF? Must be an error. */
         {
-            logger->assertLog("virtfsrwops_seek: read error.");
+            logger->assertLog("VirtFs::rwops_seek: read error.");
         }
     } /* if */
 
     return CAST_S32(rc);
-} /* virtfsrwops_read */
+} /* VirtFs::rwops_read */
 
-static RWOPSSIZE virtfsrwops_write(SDL_RWops *const rw,
-                                   const void *const ptr,
-                                   const RWOPSSIZE size,
-                                   const RWOPSSIZE num)
+RWOPSSIZE VirtFs::rwops_write(SDL_RWops *const rw,
+                              const void *const ptr,
+                              const RWOPSSIZE size,
+                              const RWOPSSIZE num)
 {
     if (!rw)
         return 0;
@@ -175,13 +167,13 @@ static RWOPSSIZE virtfsrwops_write(SDL_RWops *const rw,
         CAST_U32(num));
     if (rc != static_cast<int64_t>(num))
     {
-        logger->assertLog("virtfsrwops_seek: write error.");
+        logger->assertLog("VirtFs::rwops_seek: write error.");
     }
 
     return CAST_S32(rc);
-} /* virtfsrwops_write */
+} /* VirtFs::rwops_write */
 
-static int virtfsrwops_close(SDL_RWops *const rw)
+int VirtFs::rwops_close(SDL_RWops *const rw)
 {
     if (!rw)
         return 0;
@@ -189,30 +181,30 @@ static int virtfsrwops_close(SDL_RWops *const rw)
         rw->hidden.unknown.data1);
     if (!VirtFs::close(handle))
     {
-        logger->assertLog("virtfsrwops_seek: close error.");
+        logger->assertLog("VirtFs::rwops_seek: close error.");
         return -1;
     } /* if */
 
     SDL_FreeRW(rw);
     return 0;
-} /* virtfsrwops_close */
+} /* VirtFs::rwops_close */
 
 #ifdef USE_SDL2
-static RWOPSINT virtfsrwops_size(SDL_RWops *const rw)
+RWOPSINT VirtFs::rwops_size(SDL_RWops *const rw)
 {
     VirtFile *const handle = static_cast<VirtFile *const>(
         rw->hidden.unknown.data1);
     return VirtFs::fileLength(handle);
-} /* virtfsrwops_size */
+} /* VirtFs::rwops_size */
 #endif  // USE_SDL2
 
-static SDL_RWops *create_rwops(VirtFile *const file)
+SDL_RWops *VirtFs::create_rwops(VirtFile *const file)
 {
     SDL_RWops *retval = nullptr;
 
     if (!file)
     {
-        logger->assertLog("virtfsrwops_seek: create rwops error.");
+        logger->assertLog("VirtFs::rwops_seek: create rwops error.");
     }
     else
     {
@@ -220,31 +212,31 @@ static SDL_RWops *create_rwops(VirtFile *const file)
         if (retval)
         {
 #ifdef USE_SDL2
-            retval->size  = &virtfsrwops_size;
+            retval->size  = &VirtFs::rwops_size;
 #endif  // USE_SDL2
 
-            retval->seek  = &virtfsrwops_seek;
-            retval->read  = &virtfsrwops_read;
-            retval->write = &virtfsrwops_write;
-            retval->close = &virtfsrwops_close;
+            retval->seek  = &VirtFs::rwops_seek;
+            retval->read  = &VirtFs::rwops_read;
+            retval->write = &VirtFs::rwops_write;
+            retval->close = &VirtFs::rwops_close;
             retval->hidden.unknown.data1 = file;
         } /* if */
     } /* else */
 
     return retval;
-} /* create_rwops */
+} /* VirtFs::create_rwops */
 
-SDL_RWops *VirtFs::MakeRWops(VirtFile *const handle)
+SDL_RWops *VirtFs::makeRwops(VirtFile *const handle)
 {
     SDL_RWops *retval = nullptr;
     if (!handle)
     {
-        logger->assertLog("virtfsrwops_seek: NULL pointer passed to "
+        logger->assertLog("VirtFs::rwops_seek: NULL pointer passed to "
             "RWopsmakeRWops().");
     }
     else
     {
-        retval = create_rwops(handle);
+        retval = VirtFs::create_rwops(handle);
     }
 
     return retval;
@@ -261,7 +253,7 @@ static bool checkFilePath(const std::string &restrict fname)
 }
 #endif  // __APPLE__
 
-SDL_RWops *VirtFs::RWopsOpenRead(const std::string &restrict fname)
+SDL_RWops *VirtFs::rwopsOpenRead(const std::string &restrict fname)
 {
     BLOCK_START("RWopsopenRead")
 #ifdef __APPLE__
@@ -274,34 +266,34 @@ SDL_RWops *VirtFs::RWopsOpenRead(const std::string &restrict fname)
 #endif  // USE_FUZZER
 #ifdef USE_PROFILER
 
-    SDL_RWops *const ret = create_rwops(VirtFs::openRead(fname));
+    SDL_RWops *const ret = VirtFs::create_rwops(VirtFs::openRead(fname));
 
     BLOCK_END("RWopsopenRead")
     return ret;
 #else  // USE_PROFILER
 
-    return create_rwops(VirtFs::openRead(fname));
+    return VirtFs::create_rwops(VirtFs::openRead(fname));
 #endif  // USE_PROFILER
 } /* RWopsopenRead */
 
-SDL_RWops *VirtFs::RWopsOpenWrite(const std::string &restrict fname)
+SDL_RWops *VirtFs::rwopsOpenWrite(const std::string &restrict fname)
 {
 #ifdef __APPLE__
     if (!checkFilePath(fname))
         return nullptr;
 #endif  // __APPLE__
 
-    return create_rwops(VirtFs::openWrite(fname));
+    return VirtFs::create_rwops(VirtFs::openWrite(fname));
 } /* RWopsopenWrite */
 
-SDL_RWops *VirtFs::RWopsOpenAppend(const std::string &restrict fname)
+SDL_RWops *VirtFs::rwopsOpenAppend(const std::string &restrict fname)
 {
 #ifdef __APPLE__
     if (!checkFilePath(fname))
         return nullptr;
 #endif  // __APPLE__
 
-    return create_rwops(VirtFs::openAppend(fname));
+    return VirtFs::create_rwops(VirtFs::openAppend(fname));
 } /* RWopsopenAppend */
 
 /* end of virtfsrwops.c ... */
diff --git a/src/fs/virtfs/virtfsrwops.h b/src/fs/virtfs/virtfsrwops.h
index 56fda969d..46d5acca0 100644
--- a/src/fs/virtfs/virtfsrwops.h
+++ b/src/fs/virtfs/virtfsrwops.h
@@ -50,15 +50,40 @@
 #include <string>
 #include <SDL_rwops.h>
 
+#ifdef USE_SDL2
+#define RWOPSINT int64_t
+#define RWOPSSIZE size_t
+#else  // USE_SDL2
+#define RWOPSINT int32_t
+#define RWOPSSIZE int
+#endif  // USE_SDL2
+
 struct VirtFile;
 
 namespace VirtFs
 {
-    SDL_RWops *RWopsOpenRead(const std::string &restrict fname);
-    SDL_RWops *RWopsOpenWrite(const std::string &restrict fname) A_WARN_UNUSED;
-    SDL_RWops *RWopsOpenAppend(const std::string &restrict fname)
+    SDL_RWops *create_rwops(VirtFile *const file);
+    RWOPSINT rwops_seek(SDL_RWops *const rw,
+                        const RWOPSINT offset,
+                        const int whence);
+    RWOPSSIZE rwops_read(SDL_RWops *const rw,
+                         void *const ptr,
+                         const RWOPSSIZE size,
+                         const RWOPSSIZE maxnum);
+    RWOPSSIZE rwops_write(SDL_RWops *const rw,
+                          const void *const ptr,
+                          const RWOPSSIZE size,
+                          const RWOPSSIZE num);
+    int rwops_close(SDL_RWops *const rw);
+#ifdef USE_SDL2
+    RWOPSINT rwops_size(SDL_RWops *const rw);
+#endif  // USE_SDL2
+
+    SDL_RWops *rwopsOpenRead(const std::string &restrict fname);
+    SDL_RWops *rwopsOpenWrite(const std::string &restrict fname) A_WARN_UNUSED;
+    SDL_RWops *rwopsOpenAppend(const std::string &restrict fname)
                                A_WARN_UNUSED;
-    SDL_RWops *MakeRWops(VirtFile *const handle) A_WARN_UNUSED;
+    SDL_RWops *makeRwops(VirtFile *const handle) A_WARN_UNUSED;
 }  // namespace VirtFs
 
 #endif  // SRC_FS_VIRTFSRWOPS_H
diff --git a/src/gui/fonts/font.cpp b/src/gui/fonts/font.cpp
index 916c0b9a2..c4af92717 100644
--- a/src/gui/fonts/font.cpp
+++ b/src/gui/fonts/font.cpp
@@ -189,7 +189,7 @@ TTF_Font *Font::openFont(const char *const name,
 {
 // disabled for now because some systems can't use it. why?
 // #ifdef USE_SDL2
-//    SDL_RWops *const rw = VirtFs::RWopsOpenRead(name);
+//    SDL_RWops *const rw = VirtFs::rwopsOpenRead(name);
 //    if (!rw)
 //        return nullptr;
 //    return TTF_OpenFontIndexRW(rw, 1, size, 0);
diff --git a/src/integrity_unittest.cc b/src/integrity_unittest.cc
index 0459d3018..34312b7b3 100644
--- a/src/integrity_unittest.cc
+++ b/src/integrity_unittest.cc
@@ -236,7 +236,7 @@ TEST_CASE("integrity tests", "integrity")
     {
         VirtFs::mountZip(prefix + "data/test/test.zip", Append_false);
 
-        SDL_RWops *const rw = VirtFs::RWopsOpenRead(name1);
+        SDL_RWops *const rw = VirtFs::rwopsOpenRead(name1);
         REQUIRE(rw != nullptr);
         unsigned char buf[size1];
         const size_t sz = SDL_RWread(rw, buf, 1, size1);
@@ -254,7 +254,7 @@ TEST_CASE("integrity tests", "integrity")
     {
         VirtFs::mountZip(prefix + "data/test/test.zip", Append_false);
 
-        SDL_RWops *const rw = VirtFs::RWopsOpenRead(name1);
+        SDL_RWops *const rw = VirtFs::rwopsOpenRead(name1);
         REQUIRE(rw != nullptr);
         int64_t seek = SDL_RWseek(rw, 0, RW_SEEK_END);
         if (seek == -1)
@@ -289,7 +289,7 @@ TEST_CASE("integrity tests", "integrity")
     {
         VirtFs::mountZip(prefix + "data/test/test.zip", Append_false);
 
-        SDL_RWops *const rw = VirtFs::RWopsOpenRead(name1);
+        SDL_RWops *const rw = VirtFs::rwopsOpenRead(name1);
         REQUIRE(rw != nullptr);
         if (IMG_isPNG(rw) == false)
         {
@@ -307,7 +307,7 @@ TEST_CASE("integrity tests", "integrity")
     {
         VirtFs::mountZip(prefix + "data/test/test.zip", Append_false);
 
-        SDL_RWops *const rw = VirtFs::RWopsOpenRead(name1);
+        SDL_RWops *const rw = VirtFs::rwopsOpenRead(name1);
         REQUIRE(rw != nullptr);
         Resource *const res = imageHelper->load(rw);
         VirtFs::unmountZip(prefix + "data/test/test.zip");
diff --git a/src/resources/atlas/atlasmanager.cpp b/src/resources/atlas/atlasmanager.cpp
index 249900c56..b9107a757 100644
--- a/src/resources/atlas/atlasmanager.cpp
+++ b/src/resources/atlas/atlasmanager.cpp
@@ -149,7 +149,7 @@ void AtlasManager::loadImages(const StringVect &files,
             path = path.substr(0, p);
         }
 
-        SDL_RWops *const rw = VirtFs::RWopsOpenRead(path);
+        SDL_RWops *const rw = VirtFs::rwopsOpenRead(path);
         if (rw)
         {
             Image *const image = d ? surfaceImageHelper->load(rw, *d)
diff --git a/src/resources/loaders/imageloader.cpp b/src/resources/loaders/imageloader.cpp
index 1a1805330..2bfba2706 100644
--- a/src/resources/loaders/imageloader.cpp
+++ b/src/resources/loaders/imageloader.cpp
@@ -63,7 +63,7 @@ namespace
                 d = new Dye(path1.substr(p + 1));
                 path1 = path1.substr(0, p);
             }
-            SDL_RWops *const rw = VirtFs::RWopsOpenRead(path1);
+            SDL_RWops *const rw = VirtFs::rwopsOpenRead(path1);
             if (!rw)
             {
                 delete d;
diff --git a/src/resources/loaders/musicloader.cpp b/src/resources/loaders/musicloader.cpp
index f1114b210..f23a9fc70 100644
--- a/src/resources/loaders/musicloader.cpp
+++ b/src/resources/loaders/musicloader.cpp
@@ -46,7 +46,7 @@ namespace
                 return nullptr;
             const ResourceLoader *const
                 rl = static_cast<const ResourceLoader *const>(v);
-            SDL_RWops *const rw = VirtFs::RWopsOpenRead(rl->path);
+            SDL_RWops *const rw = VirtFs::rwopsOpenRead(rl->path);
             if (!rw)
             {
                 reportAlways("Error loading resource: %s",
diff --git a/src/resources/loaders/soundloader.cpp b/src/resources/loaders/soundloader.cpp
index b3429b20e..be71a5ddb 100644
--- a/src/resources/loaders/soundloader.cpp
+++ b/src/resources/loaders/soundloader.cpp
@@ -46,7 +46,7 @@ namespace
                 return nullptr;
             const ResourceLoader *const
                 rl = static_cast<const ResourceLoader *const>(v);
-            SDL_RWops *const rw = VirtFs::RWopsOpenRead(rl->path);
+            SDL_RWops *const rw = VirtFs::rwopsOpenRead(rl->path);
             if (!rw)
             {
                 reportAlways("Error loading resource: %s",
diff --git a/src/test/testlauncher.cpp b/src/test/testlauncher.cpp
index 133c897fd..b05091ddd 100644
--- a/src/test/testlauncher.cpp
+++ b/src/test/testlauncher.cpp
@@ -432,7 +432,7 @@ PRAGMA45(GCC diagnostic pop)
 
 int TestLauncher::testDye()
 {
-    SDL_RWops *rw = VirtFs::RWopsOpenRead(
+    SDL_RWops *rw = VirtFs::rwopsOpenRead(
         "graphics/sprites/arrow_up.png");
     Dye *d = nullptr;
 
@@ -455,7 +455,7 @@ int TestLauncher::testDye()
                     settings.tempDir + "/testimage2.png");
             }
 
-            rw = VirtFs::RWopsOpenRead(
+            rw = VirtFs::rwopsOpenRead(
                 "graphics/sprites/arrow_up.png");
             d = new Dye("S:#0000ff,00ff00,5c5cff,ff0000");
             image = surfaceImageHelper->load(rw, *d);
-- 
cgit v1.2.3-70-g09d2