Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(266)

Side by Side Diff: source/extra/uconv/uwmsg.c

Issue 845603002: Update ICU to 54.1 step 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/icu.git@master
Patch Set: remove unusued directories Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « source/extra/uconv/uconv.cpp ('k') | source/i18n/Makefile.in » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 ********************************************************************** 2 **********************************************************************
3 * Copyright (C) 1998-2012, International Business Machines Corporation 3 * Copyright (C) 1998-2014, International Business Machines Corporation
4 * and others. All Rights Reserved. 4 * and others. All Rights Reserved.
5 ********************************************************************** 5 **********************************************************************
6 * 6 *
7 * File uwmsg.c 7 * File uwmsg.c
8 * 8 *
9 * Modification History: 9 * Modification History:
10 * 10 *
11 * Date Name Description 11 * Date Name Description
12 * 06/14/99 stephen Creation. 12 * 06/14/99 stephen Creation.
13 ******************************************************************************* 13 *******************************************************************************
14 */ 14 */
15 15
16 #include "unicode/ucnv.h" 16 #include "unicode/ucnv.h"
17 #include "unicode/ustring.h" 17 #include "unicode/ustring.h"
18 #include "unicode/umsg.h" 18 #include "unicode/umsg.h"
19 #include "unicode/uwmsg.h" 19 #include "unicode/uwmsg.h"
20 #include "unicode/ures.h" 20 #include "unicode/ures.h"
21 #include "unicode/putil.h" 21 #include "unicode/putil.h"
22 #include "cstring.h" 22 #include "cstring.h"
23 23
24 #include <stdlib.h> 24 #include <stdlib.h>
25 #include <stdarg.h> 25 #include <stdarg.h>
26 #include <stdio.h> 26 #include <stdio.h>
27 #include <string.h> 27 #include <string.h>
28 28
29 #define LENGTHOF(array) (sizeof(array)/sizeof((array)[0]))
30
31 #define BUF_SIZE 128 29 #define BUF_SIZE 128
32 30
33 /* Print a ustring to the specified FILE* in the default codepage */ 31 /* Print a ustring to the specified FILE* in the default codepage */
34 static void 32 static void
35 uprint(const UChar *s, 33 uprint(const UChar *s,
36 int32_t sourceLen, 34 int32_t sourceLen,
37 FILE *f, 35 FILE *f,
38 UErrorCode *status) 36 UErrorCode *status)
39 { 37 {
40 /* converter */ 38 /* converter */
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 /* Format a message and print it's output to fp */ 118 /* Format a message and print it's output to fp */
121 U_CFUNC int u_wmsg(FILE *fp, const char *tag, ... ) 119 U_CFUNC int u_wmsg(FILE *fp, const char *tag, ... )
122 { 120 {
123 const UChar *msg; 121 const UChar *msg;
124 int32_t msgLen; 122 int32_t msgLen;
125 UErrorCode err = U_ZERO_ERROR; 123 UErrorCode err = U_ZERO_ERROR;
126 #if !UCONFIG_NO_FORMATTING 124 #if !UCONFIG_NO_FORMATTING
127 va_list ap; 125 va_list ap;
128 #endif 126 #endif
129 UChar result[4096]; 127 UChar result[4096];
130 int32_t resultLength = LENGTHOF(result); 128 int32_t resultLength = UPRV_LENGTHOF(result);
131 129
132 if(gBundle == NULL) 130 if(gBundle == NULL)
133 { 131 {
134 #if 0 132 #if 0
135 fprintf(stderr, "u_wmsg: No path set!!\n"); /* FIXME: codepage?? */ 133 fprintf(stderr, "u_wmsg: No path set!!\n"); /* FIXME: codepage?? */
136 #endif 134 #endif
137 return -1; 135 return -1;
138 } 136 }
139 137
140 msg = ures_getStringByKey(gBundle, tag, &msgLen, &err); 138 msg = ures_getStringByKey(gBundle, tag, &msgLen, &err);
141 139
142 if(U_FAILURE(err)) 140 if(U_FAILURE(err))
143 { 141 {
144 return -1; 142 return -1;
145 } 143 }
146 144
147 #if UCONFIG_NO_FORMATTING 145 #if UCONFIG_NO_FORMATTING
148 resultLength = sizeof(gNoFormatting) / U_SIZEOF_UCHAR; 146 resultLength = sizeof(gNoFormatting) / U_SIZEOF_UCHAR;
149 if((msgLen + resultLength) <= LENGTHOF(result)) { 147 if((msgLen + resultLength) <= UPRV_LENGTHOF(result)) {
150 memcpy(result, msg, msgLen * U_SIZEOF_UCHAR); 148 memcpy(result, msg, msgLen * U_SIZEOF_UCHAR);
151 memcpy(result + msgLen, gNoFormatting, resultLength); 149 memcpy(result + msgLen, gNoFormatting, resultLength);
152 resultLength += msgLen; 150 resultLength += msgLen;
153 uprint(result, resultLength, fp, &err); 151 uprint(result, resultLength, fp, &err);
154 } else { 152 } else {
155 uprint(msg,msgLen, fp, &err); 153 uprint(msg,msgLen, fp, &err);
156 } 154 }
157 #else 155 #else
158 va_start(ap, tag); 156 va_start(ap, tag);
159 157
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 u_charsToUChars(textMsg, msg, (int32_t)(strlen(textMsg)+1)); 253 u_charsToUChars(textMsg, msg, (int32_t)(strlen(textMsg)+1));
256 } 254 }
257 255
258 if(err>=0) 256 if(err>=0)
259 gErrMessages[err] = msg; 257 gErrMessages[err] = msg;
260 else 258 else
261 gInfoMessages[err-U_ERROR_WARNING_START] = msg; 259 gInfoMessages[err-U_ERROR_WARNING_START] = msg;
262 260
263 return msg; 261 return msg;
264 } 262 }
OLDNEW
« no previous file with comments | « source/extra/uconv/uconv.cpp ('k') | source/i18n/Makefile.in » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698