mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-13 08:53:20 +00:00
ICU-3499 Remove #if 0'd code.
X-SVN-Rev: 15592
This commit is contained in:
parent
dacd3a9b0a
commit
e845524c7f
1 changed files with 0 additions and 198 deletions
|
@ -135,201 +135,3 @@ U_NAMESPACE_END
|
|||
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
/* UnicodeStringStreamer internal API may be useful for future reference */
|
||||
#ifndef UNISTRM_H
|
||||
#define UNISTRM_H
|
||||
|
||||
#include "filestrm.h"
|
||||
#include "umemstrm.h"
|
||||
#include "unicode/unistr.h"
|
||||
|
||||
|
||||
class U_COMMON_API UnicodeStringStreamer /* not : public UObject because all methods are static */ {
|
||||
public:
|
||||
static void streamIn(UnicodeString* string, FileStream* is);
|
||||
static void streamOut(const UnicodeString* string, FileStream* os);
|
||||
static void streamIn(UnicodeString* string, UMemoryStream* is);
|
||||
static void streamOut(const UnicodeString* string, UMemoryStream* os);
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
//========================================
|
||||
// Streaming (to be removed)
|
||||
//========================================
|
||||
|
||||
#include "unistrm.h"
|
||||
#include "filestrm.h"
|
||||
|
||||
|
||||
inline uint8_t
|
||||
uprv_hibyte(uint16_t x)
|
||||
{ return (uint8_t)(x >> 8); }
|
||||
|
||||
inline uint8_t
|
||||
uprv_lobyte(uint16_t x)
|
||||
{ return (uint8_t)(x & 0xff); }
|
||||
|
||||
inline uint16_t
|
||||
uprv_hiword(uint32_t x)
|
||||
{ return (uint16_t)(x >> 16); }
|
||||
|
||||
inline uint16_t
|
||||
uprv_loword(uint32_t x)
|
||||
{ return (uint16_t)(x & 0xffff); }
|
||||
|
||||
inline void
|
||||
writeLong(FileStream *os,
|
||||
int32_t x)
|
||||
{
|
||||
uint16_t word = uprv_hiword((uint32_t)x);
|
||||
T_FileStream_putc(os, uprv_hibyte(word));
|
||||
T_FileStream_putc(os, uprv_lobyte(word));
|
||||
word = uprv_loword((uint32_t)x);
|
||||
T_FileStream_putc(os, uprv_hibyte(word));
|
||||
T_FileStream_putc(os, uprv_lobyte(word));
|
||||
}
|
||||
|
||||
inline int32_t
|
||||
readLong(FileStream *is)
|
||||
{
|
||||
int32_t x = T_FileStream_getc(is);
|
||||
|
||||
x = (x << 8) | T_FileStream_getc(is);
|
||||
x = (x << 8) | T_FileStream_getc(is);
|
||||
x = (x << 8) | T_FileStream_getc(is);
|
||||
|
||||
return x;
|
||||
}
|
||||
|
||||
inline void
|
||||
writeUChar(FileStream *os,
|
||||
UChar c)
|
||||
{
|
||||
T_FileStream_putc(os, uprv_hibyte(c));
|
||||
T_FileStream_putc(os, uprv_lobyte(c));
|
||||
}
|
||||
|
||||
inline UChar
|
||||
readUChar(FileStream *is)
|
||||
{
|
||||
UChar c = (UChar)T_FileStream_getc(is);
|
||||
|
||||
return (UChar)((c << 8) | T_FileStream_getc(is));
|
||||
}
|
||||
|
||||
void
|
||||
UnicodeStringStreamer::streamOut(const UnicodeString *s,
|
||||
FileStream *os)
|
||||
{
|
||||
if(!T_FileStream_error(os)) {
|
||||
writeLong(os, s->fLength);
|
||||
}
|
||||
|
||||
const UChar *c = s->getArrayStart();
|
||||
const UChar *end = c + s->fLength;
|
||||
|
||||
while(c != end && ! T_FileStream_error(os)) {
|
||||
writeUChar(os, *c++);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
UnicodeStringStreamer::streamIn(UnicodeString *s,
|
||||
FileStream *is)
|
||||
{
|
||||
int32_t newSize;
|
||||
|
||||
// handle error conditions
|
||||
if(T_FileStream_error(is) || T_FileStream_eof(is)) {
|
||||
s->setToBogus();
|
||||
return;
|
||||
}
|
||||
newSize = readLong(is);
|
||||
if((newSize < 0) || T_FileStream_error(is)
|
||||
|| ((newSize > 0) && T_FileStream_eof(is))) {
|
||||
s->setToBogus(); //error condition
|
||||
return;
|
||||
}
|
||||
|
||||
// clone s's array, if needed
|
||||
if(!s->cloneArrayIfNeeded(newSize, newSize, FALSE)) {
|
||||
return;
|
||||
}
|
||||
|
||||
UChar *c = s->getArrayStart();
|
||||
UChar *end = c + newSize;
|
||||
|
||||
while(c < end && ! (T_FileStream_error(is) || T_FileStream_eof(is))) {
|
||||
*c++ = readUChar(is);
|
||||
}
|
||||
|
||||
// couldn't read all chars
|
||||
if(c < end) {
|
||||
s->setToBogus();
|
||||
return;
|
||||
}
|
||||
|
||||
s->fLength = newSize;
|
||||
}
|
||||
|
||||
void
|
||||
UnicodeStringStreamer::streamOut(const UnicodeString *s,
|
||||
UMemoryStream *os)
|
||||
{
|
||||
if(!uprv_mstrm_error(os)) {
|
||||
uprv_mstrm_write(os, (uint8_t*)&s->fLength, (int32_t)sizeof(s->fLength));
|
||||
}
|
||||
|
||||
const UChar *c = s->getArrayStart();
|
||||
const UChar *end = c + s->fLength;
|
||||
|
||||
while(c != end && ! uprv_mstrm_error(os)) {
|
||||
uprv_mstrm_write(os, (uint8_t*)c, (int32_t)sizeof(*c));
|
||||
c++;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
UnicodeStringStreamer::streamIn(UnicodeString *s,
|
||||
UMemoryStream *is)
|
||||
{
|
||||
int32_t newSize;
|
||||
|
||||
// handle error conditions
|
||||
if(uprv_mstrm_error(is) || uprv_mstrm_eof(is)) {
|
||||
s->setToBogus();
|
||||
return;
|
||||
}
|
||||
uprv_mstrm_read(is, (uint8_t *)&newSize, (int32_t)sizeof(int32_t));
|
||||
if((newSize < 0) || uprv_mstrm_error(is)
|
||||
|| ((newSize > 0) && uprv_mstrm_eof(is))) {
|
||||
s->setToBogus(); //error condition
|
||||
return;
|
||||
}
|
||||
|
||||
// clone s's array, if needed
|
||||
if(!s->cloneArrayIfNeeded(newSize, newSize, FALSE)) {
|
||||
return;
|
||||
}
|
||||
|
||||
UChar *c = s->getArrayStart();
|
||||
UChar *end = c + newSize;
|
||||
|
||||
while(c < end && ! (uprv_mstrm_error(is) || uprv_mstrm_eof(is))) {
|
||||
uprv_mstrm_read(is, (uint8_t *)c, (int32_t)sizeof(*c));
|
||||
c++;
|
||||
}
|
||||
|
||||
// couldn't read all chars
|
||||
if(c < end) {
|
||||
s->setToBogus();
|
||||
return;
|
||||
}
|
||||
|
||||
s->fLength = newSize;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Reference in a new issue