From 0d73f14d79ee4280d3dff7ce49a8c8ebbb76e802 Mon Sep 17 00:00:00 2001 From: Wipe Date: Wed, 1 May 2013 00:54:35 +0200 Subject: [PATCH] Additional changes --- buffer.fos | 11 +++++++++++ buffer_h.fos | 4 ++++ 2 files changed, 15 insertions(+) diff --git a/buffer.fos b/buffer.fos index 2ce2be2..c1a247e 100644 --- a/buffer.fos +++ b/buffer.fos @@ -354,15 +354,26 @@ final class CBuffer : Buffer Buffer@ opShr( string& value ) // Buffer >> value { +#ifdef BUFFER_UNICODE value.rawResize(0); +#endif +#ifndef BUFFER_UNICODE + value.resize(0); +#endif BUFFER_LENTYPE len = 0; this >> len; for( uint s=0; s> char; +#ifdef BUFFER_UNICODE value.rawResize(s+1); value.rawSet(s, char); +#endif +#ifndef BUFFER_UNICODE + value.resize(s+1); + value[s] = char; +#endif } return( this ); } diff --git a/buffer_h.fos b/buffer_h.fos index 5502c6b..d005511 100644 --- a/buffer_h.fos +++ b/buffer_h.fos @@ -85,6 +85,10 @@ // How length of string/arrays will be stored in buffer #define BUFFER_LENTYPE uint16 +// Backward compatibility +// Undefine if using SDK older than revision 400 +#define BUFFER_UNICODE + shared interface Buffer { bool IsRaw( uint len );