diff --git a/src/shared/ByteBuffer.cpp b/src/shared/ByteBuffer.cpp
new file mode 100644
index 000000000..b1b4b1f09
--- /dev/null
+++ b/src/shared/ByteBuffer.cpp
@@ -0,0 +1,111 @@
+/*
+ * Copyright (C) 2005-2012 MaNGOS
+ *
+ * This program 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "ByteBuffer.h"
+#include "Log.h"
+
+void ByteBufferException::PrintPosError() const
+{
+ char const* traceStr;
+
+#ifdef HAVE_ACE_STACK_TRACE_H
+ ACE_Stack_Trace trace;
+ traceStr = trace.c_str();
+#else
+ traceStr = NULL;
+#endif
+
+ sLog.outError(
+ "Attempted to %s in ByteBuffer (pos: " SIZEFMTD " size: "SIZEFMTD") "
+ "value with size: " SIZEFMTD "%s%s",
+ (add ? "put" : "get"), pos, size, esize,
+ traceStr ? "\n" : "", traceStr ? traceStr : "");
+}
+
+void ByteBuffer::print_storage() const
+{
+ if (!sLog.HasLogLevelOrHigher(LOG_LVL_DEBUG)) // optimize disabled debug output
+ return;
+
+ std::ostringstream ss;
+ ss << "STORAGE_SIZE: " << size() << "\n";
+
+ if (sLog.IsIncludeTime())
+ ss << " ";
+
+ for (size_t i = 0; i < size(); ++i)
+ ss << uint32(read(i)) << " - ";
+
+ sLog.outDebug(ss.str().c_str());
+}
+
+void ByteBuffer::textlike() const
+{
+ if (!sLog.HasLogLevelOrHigher(LOG_LVL_DEBUG)) // optimize disabled debug output
+ return;
+
+ std::ostringstream ss;
+ ss << "STORAGE_SIZE: " << size() << "\n";
+
+ if (sLog.IsIncludeTime())
+ ss << " ";
+
+ for (size_t i = 0; i < size(); ++i)
+ ss << read(i);
+
+ sLog.outDebug(ss.str().c_str());
+}
+
+void ByteBuffer::hexlike() const
+{
+ if (!sLog.HasLogLevelOrHigher(LOG_LVL_DEBUG)) // optimize disabled debug output
+ return;
+
+ std::ostringstream ss;
+ ss << "STORAGE_SIZE: " << size() << "\n";
+
+ if (sLog.IsIncludeTime())
+ ss << " ";
+
+ size_t j = 1, k = 1;
+
+ for (size_t i = 0; i < size(); ++i)
+ {
+ if ((i == (j * 8)) && ((i != (k * 16))))
+ {
+ ss << "| ";
+ ++j;
+ }
+ else if (i == (k * 16))
+ {
+ ss << "\n";
+
+ if (sLog.IsIncludeTime())
+ ss << " ";
+
+ ++k;
+ ++j;
+ }
+
+ char buf[4];
+ snprintf(buf, 4, "%02X", read(i));
+ ss << buf << " ";
+ }
+
+ sLog.outDebug(ss.str().c_str());
+}
diff --git a/src/shared/ByteBuffer.h b/src/shared/ByteBuffer.h
index a6cc27e0e..604b84c3d 100644
--- a/src/shared/ByteBuffer.h
+++ b/src/shared/ByteBuffer.h
@@ -20,7 +20,6 @@
#define _BYTEBUFFER_H
#include "Common.h"
-#include "Log.h"
#include "Utilities/ByteConverter.h"
class ByteBufferException
@@ -32,23 +31,7 @@ class ByteBufferException
PrintPosError();
}
- void PrintPosError() const
- {
- char const* traceStr;
-
-#ifdef HAVE_ACE_STACK_TRACE_H
- ACE_Stack_Trace trace;
- traceStr = trace.c_str();
-#else
- traceStr = NULL;
-#endif
-
- sLog.outError(
- "Attempted to %s in ByteBuffer (pos: " SIZEFMTD " size: "SIZEFMTD") "
- "value with size: " SIZEFMTD "%s%s",
- (add ? "put" : "get"), pos, size, esize,
- traceStr ? "\n" : "", traceStr ? traceStr : "");
- }
+ void PrintPosError() const;
private:
bool add;
size_t pos;
@@ -421,78 +404,9 @@ class ByteBuffer
memcpy(&_storage[pos], src, cnt);
}
- void print_storage() const
- {
- if (!sLog.HasLogLevelOrHigher(LOG_LVL_DEBUG)) // optimize disabled debug output
- return;
-
- std::ostringstream ss;
- ss << "STORAGE_SIZE: " << size() << "\n";
-
- if (sLog.IsIncludeTime())
- ss << " ";
-
- for (size_t i = 0; i < size(); ++i)
- ss << uint32(read(i)) << " - ";
-
- sLog.outDebug(ss.str().c_str());
- }
-
- void textlike() const
- {
- if (!sLog.HasLogLevelOrHigher(LOG_LVL_DEBUG)) // optimize disabled debug output
- return;
-
- std::ostringstream ss;
- ss << "STORAGE_SIZE: " << size() << "\n";
-
- if (sLog.IsIncludeTime())
- ss << " ";
-
- for (size_t i = 0; i < size(); ++i)
- ss << read(i);
-
- sLog.outDebug(ss.str().c_str());
- }
-
- void hexlike() const
- {
- if (!sLog.HasLogLevelOrHigher(LOG_LVL_DEBUG)) // optimize disabled debug output
- return;
-
- std::ostringstream ss;
- ss << "STORAGE_SIZE: " << size() << "\n";
-
- if (sLog.IsIncludeTime())
- ss << " ";
-
- size_t j = 1, k = 1;
-
- for (size_t i = 0; i < size(); ++i)
- {
- if ((i == (j * 8)) && ((i != (k * 16))))
- {
- ss << "| ";
- ++j;
- }
- else if (i == (k * 16))
- {
- ss << "\n";
-
- if (sLog.IsIncludeTime())
- ss << " ";
-
- ++k;
- ++j;
- }
-
- char buf[4];
- snprintf(buf, 4, "%02X", read(i));
- ss << buf << " ";
-
- }
- sLog.outDebug(ss.str().c_str());
- }
+ void print_storage() const;
+ void textlike() const;
+ void hexlike() const;
private:
// limited for internal use because can "append" any unexpected type (like pointer and etc) with hard detection problem
diff --git a/win/VC100/shared.vcxproj b/win/VC100/shared.vcxproj
index 95cddf571..db11965a5 100644
--- a/win/VC100/shared.vcxproj
+++ b/win/VC100/shared.vcxproj
@@ -434,6 +434,7 @@
+
diff --git a/win/VC100/shared.vcxproj.filters b/win/VC100/shared.vcxproj.filters
index f95c617c7..33f871e25 100644
--- a/win/VC100/shared.vcxproj.filters
+++ b/win/VC100/shared.vcxproj.filters
@@ -45,6 +45,9 @@
Database\DataStores
+
+ Util
+
Log
diff --git a/win/VC90/shared.vcproj b/win/VC90/shared.vcproj
index bf1e24db2..d16f12988 100644
--- a/win/VC90/shared.vcproj
+++ b/win/VC90/shared.vcproj
@@ -627,6 +627,10 @@
+
+