From 9c700c5876acb50bbaf910049f6a9535bb6327f4 Mon Sep 17 00:00:00 2001 From: pescuma Date: Tue, 20 May 2008 23:53:15 +0000 Subject: Added some new methods to Buffer and ContactAsyncQueue git-svn-id: http://pescuma.googlecode.com/svn/trunk/Miranda@107 c086bb3d-8645-0410-b8da-73a8550f86e7 --- Plugins/utils/mir_buffer.h | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'Plugins/utils/mir_buffer.h') diff --git a/Plugins/utils/mir_buffer.h b/Plugins/utils/mir_buffer.h index 51398bd..4daf01e 100644 --- a/Plugins/utils/mir_buffer.h +++ b/Plugins/utils/mir_buffer.h @@ -174,6 +174,17 @@ class Buffer len++; } + void appendn(size_t n, T app) + { + alloc(len + n); + + for(; n > 0; n--) + { + str[len] = app; + len++; + } + } + void append(const char *app, size_t appLen = -1) { if (appLen == -1) @@ -198,6 +209,28 @@ class Buffer len += appLen; } + void append(const Buffer &app) + { + size_t appLen = app.len; + + size_t total = len + appLen + 1; + alloc(total); + + __bcopy(&str[len], app.str, appLen); + len += appLen; + } + + void append(const Buffer &app) + { + size_t appLen = app.len; + + size_t total = len + appLen + 1; + alloc(total); + + __bcopy(&str[len], app.str , appLen); + len += appLen; + } + void appendPrintf(const T *app, ...) { size_t total = len + 512; @@ -256,6 +289,13 @@ class Buffer len += appLen - oldLen; } + void replaceAll(T find, T replace) + { + for(size_t i = 0; i < len; i++) + if (str[len] == find) + str[len] = replace; + } + void translate() { if (str == NULL || len == 0) -- cgit v1.2.3