aboutsummaryrefslogtreecommitdiff
path: root/src/lua/modules/net/Buffer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lua/modules/net/Buffer.h')
-rw-r--r--src/lua/modules/net/Buffer.h149
1 files changed, 75 insertions, 74 deletions
diff --git a/src/lua/modules/net/Buffer.h b/src/lua/modules/net/Buffer.h
index 31e6df8..8733778 100644
--- a/src/lua/modules/net/Buffer.h
+++ b/src/lua/modules/net/Buffer.h
@@ -5,92 +5,93 @@
#include <cstdlib>
#include "lua/common/common.h"
-namespace jin
+namespace JinEngine
{
-namespace lua
-{
-namespace net
-{
-
- class Buffer
+ namespace Lua
{
- public:
- Buffer(size_t s = 0)
- : size(s)
+ namespace Net
{
- buffer = new char[size];
- memset(buffer, 0, size);
- }
- Buffer(const char* data, size_t s)
- : size(s)
- {
- buffer = new char[size];
- memcpy(buffer, data, size);
- }
-
- ~Buffer()
- {
- if (buffer != nullptr)
+ class Buffer
{
- delete[] buffer;
- buffer = nullptr;
- size = 0;
- }
- }
+ public:
+ Buffer(size_t s = 0)
+ : size(s)
+ {
+ buffer = new char[size];
+ memset(buffer, 0, size);
+ }
- void append(const void* data, size_t s)
- {
- if (data == nullptr)
- return;
- char* buf = buffer;
- buffer = new char[size + s];
- memcpy(buffer, buf, size);
- memcpy(buffer + size, data, s);
- delete[] buf;
- size += s;
- return;
- }
+ Buffer(const char* data, size_t s)
+ : size(s)
+ {
+ buffer = new char[size];
+ memcpy(buffer, data, size);
+ }
- const char* grabString(int* length, int offset = 0)
- {
- int l = offset;
- for (; l < size; ++l)
- {
- if (buffer[l] == 0)
- break;
- }
- *length = l - offset + 1;
- char* str = (char*)malloc(*length);
- memcpy(str, buffer + offset, *length);
- return str;
- }
+ ~Buffer()
+ {
+ if (buffer != nullptr)
+ {
+ delete[] buffer;
+ buffer = nullptr;
+ size = 0;
+ }
+ }
- int grabInteger(int* length, int offset = 0)
- {
- *length = sizeof(int);
- return *((int*)(buffer + offset));
- }
+ void append(const void* data, size_t s)
+ {
+ if (data == nullptr)
+ return;
+ char* buf = buffer;
+ buffer = new char[size + s];
+ memcpy(buffer, buf, size);
+ memcpy(buffer + size, data, s);
+ delete[] buf;
+ size += s;
+ return;
+ }
- float grabFloat(int* length, int offset = 0)
- {
- *length = sizeof(float);
- return *((float*)(buffer + offset));
- }
+ /* grab and create a string */
+ char* grabString(unsigned int* length, int offset = 0)
+ {
+ int l = offset;
+ for (; l < size; ++l)
+ {
+ if (buffer[l] == 0)
+ break;
+ }
+ *length = l - offset + 1;
+ char* str = (char*)malloc(*length);
+ memcpy(str, buffer + offset, *length);
+ return str;
+ }
- bool grabBoolean(int* length, int offset = 0)
- {
- *length = sizeof(bool);
- return *((bool*)(buffer + offset));
- }
+ int grabInteger(int* length, int offset = 0)
+ {
+ *length = sizeof(int);
+ return *((int*)(buffer + offset));
+ }
+
+ float grabFloat(int* length, int offset = 0)
+ {
+ *length = sizeof(float);
+ return *((float*)(buffer + offset));
+ }
+
+ bool grabBoolean(int* length, int offset = 0)
+ {
+ *length = sizeof(bool);
+ return *((bool*)(buffer + offset));
+ }
- char* buffer;
- size_t size;
+ char* buffer;
+ size_t size;
- };
+ };
-} // net
-} // lua
-} // jin
+ } // namespace Net
+ } // namespace Lua
+} // namespace JinEngine
#endif \ No newline at end of file