home *** CD-ROM | disk | FTP | other *** search
- #define EXTENDED_FUNCTIONALITY
- #include "cpputils.h"
- #include "cstring.h"
- #include "ustring.h"
-
-
-
- /******************************************************
- * Simple utility to set output buffer parameters
- ******************************************************/
- void T_fillOutputParams(const UnicodeString* temp,
- UChar* result,
- const int32_t resultLength,
- int32_t* resultLengthOut,
- UErrorCode* status)
- {
-
- const int32_t actual = temp->size();
- const bool_t overflowed = actual >= resultLength;
- const int32_t returnedSize = icu_min(actual, resultLength-1);
- if ((temp->size() < resultLength) && (result != temp->getUChars()) && (returnedSize > 0)) {
- u_strcpy(result, temp->getUChars());
- }
-
- if (resultLength > 0) {
- result[returnedSize] = 0;
- }
- if (resultLengthOut) {
- *resultLengthOut = actual;
- if (U_SUCCESS(*status) && overflowed) {
- *status = U_BUFFER_OVERFLOW_ERROR;
- }
- }
- }
-