Variant StringUtil::ChunkSplit(const String& body, int chunklen /* = 76 */, const String& end /* = "\r\n" */) { if (chunklen <= 0) { throw_invalid_argument("chunklen: (non-positive)"); return false; } String ret; int len = body.size(); if (chunklen >= len) { ret = body; ret += end; } else { return string_chunk_split(body.data(), len, end.c_str(), end.size(), chunklen); } return ret; }
String StringUtil::ChunkSplit(CStrRef body, int chunklen /* = 76 */, CStrRef end /* = "\r\n" */) { if (chunklen <= 0) { throw InvalidArgumentException("chunklen", "(non-positive)"); } String ret; int len = body.size(); if (chunklen >= len) { ret = body; ret += end; } else { char *chunked = string_chunk_split(body.data(), len, end, end.size(), chunklen); return String(chunked, len, AttachString); } return ret; }
Variant StringUtil::ChunkSplit(CStrRef body, int chunklen /* = 76 */, CStrRef end /* = "\r\n" */) { if (chunklen <= 0) { throw_invalid_argument("chunklen: (non-positive)"); return false; } String ret; int len = body.size(); if (chunklen >= len) { ret = body; ret += end; } else { char *chunked = string_chunk_split(body.data(), len, end.c_str(), end.size(), chunklen); return String(chunked, len, AttachString); } return ret; }