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

Side by Side Diff: source/common/ucnvhz.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/common/ucnvbocu.cpp ('k') | source/common/ucnvisci.c » ('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) 2000-2011, International Business Machines 3 * Copyright (C) 2000-2014, International Business Machines
4 * Corporation and others. All Rights Reserved. 4 * Corporation and others. All Rights Reserved.
5 ********************************************************************** 5 **********************************************************************
6 * file name: ucnvhz.c 6 * file name: ucnvhz.c
7 * encoding: US-ASCII 7 * encoding: US-ASCII
8 * tab size: 8 (not used) 8 * tab size: 8 (not used)
9 * indentation:4 9 * indentation:4
10 * 10 *
11 * created on: 2000oct16 11 * created on: 2000oct16
12 * created by: Ram Viswanadha 12 * created by: Ram Viswanadha
13 * 10/31/2000 Ram Implemented offsets logic function 13 * 10/31/2000 Ram Implemented offsets logic function
14 * 14 *
15 */ 15 */
16 16
17 #include "unicode/utypes.h" 17 #include "unicode/utypes.h"
18 18
19 #if !UCONFIG_NO_CONVERSION && !UCONFIG_NO_LEGACY_CONVERSION && !UCONFIG_NO_NON_H TML5_CONVERSION 19 #if !UCONFIG_NO_CONVERSION && !UCONFIG_NO_LEGACY_CONVERSION
20 20
21 #include "cmemory.h" 21 #include "cmemory.h"
22 #include "unicode/ucnv.h" 22 #include "unicode/ucnv.h"
23 #include "unicode/ucnv_cb.h" 23 #include "unicode/ucnv_cb.h"
24 #include "unicode/uset.h" 24 #include "unicode/uset.h"
25 #include "unicode/utf16.h" 25 #include "unicode/utf16.h"
26 #include "ucnv_bld.h" 26 #include "ucnv_bld.h"
27 #include "ucnv_cnv.h" 27 #include "ucnv_cnv.h"
28 #include "ucnv_imp.h" 28 #include "ucnv_imp.h"
29 29
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 static void 333 static void
334 UConverter_fromUnicode_HZ_OFFSETS_LOGIC (UConverterFromUnicodeArgs * args, 334 UConverter_fromUnicode_HZ_OFFSETS_LOGIC (UConverterFromUnicodeArgs * args,
335 UErrorCode * err){ 335 UErrorCode * err){
336 const UChar *mySource = args->source; 336 const UChar *mySource = args->source;
337 char *myTarget = args->target; 337 char *myTarget = args->target;
338 int32_t* offsets = args->offsets; 338 int32_t* offsets = args->offsets;
339 int32_t mySourceIndex = 0; 339 int32_t mySourceIndex = 0;
340 int32_t myTargetIndex = 0; 340 int32_t myTargetIndex = 0;
341 int32_t targetLength = (int32_t)(args->targetLimit - myTarget); 341 int32_t targetLength = (int32_t)(args->targetLimit - myTarget);
342 int32_t mySourceLength = (int32_t)(args->sourceLimit - args->source); 342 int32_t mySourceLength = (int32_t)(args->sourceLimit - args->source);
343 int32_t length=0;
344 uint32_t targetUniChar = 0x0000; 343 uint32_t targetUniChar = 0x0000;
345 UChar32 mySourceChar = 0x0000; 344 UChar32 mySourceChar = 0x0000;
346 UConverterDataHZ *myConverterData=(UConverterDataHZ*)args->converter->extraI nfo; 345 UConverterDataHZ *myConverterData=(UConverterDataHZ*)args->converter->extraI nfo;
347 UBool isTargetUCharDBCS = (UBool) myConverterData->isTargetUCharDBCS; 346 UBool isTargetUCharDBCS = (UBool) myConverterData->isTargetUCharDBCS;
348 UBool oldIsTargetUCharDBCS = isTargetUCharDBCS; 347 UBool oldIsTargetUCharDBCS;
349 int len =0; 348 int len =0;
350 const char* escSeq=NULL; 349 const char* escSeq=NULL;
351 350
352 /* Calling code already handles this situation. */ 351 /* Calling code already handles this situation. */
353 /*if ((args->converter == NULL) || (args->targetLimit < myTarget) || (args-> sourceLimit < args->source)){ 352 /*if ((args->converter == NULL) || (args->targetLimit < myTarget) || (args-> sourceLimit < args->source)){
354 *err = U_ILLEGAL_ARGUMENT_ERROR; 353 *err = U_ILLEGAL_ARGUMENT_ERROR;
355 return; 354 return;
356 }*/ 355 }*/
357 if(args->converter->fromUChar32!=0 && myTargetIndex < targetLength) { 356 if(args->converter->fromUChar32!=0 && myTargetIndex < targetLength) {
358 goto getTrail; 357 goto getTrail;
359 } 358 }
360 /*writing the char to the output stream */ 359 /*writing the char to the output stream */
361 while (mySourceIndex < mySourceLength){ 360 while (mySourceIndex < mySourceLength){
362 targetUniChar = missingCharMarker; 361 targetUniChar = missingCharMarker;
363 if (myTargetIndex < targetLength){ 362 if (myTargetIndex < targetLength){
364 363
365 mySourceChar = (UChar) mySource[mySourceIndex++]; 364 mySourceChar = (UChar) mySource[mySourceIndex++];
366 365
367 366
368 oldIsTargetUCharDBCS = isTargetUCharDBCS; 367 oldIsTargetUCharDBCS = isTargetUCharDBCS;
369 if(mySourceChar ==UCNV_TILDE){ 368 if(mySourceChar ==UCNV_TILDE){
370 /*concatEscape(args, &myTargetIndex, &targetLength,"\x7E\x7E",er r,2,&mySourceIndex);*/ 369 /*concatEscape(args, &myTargetIndex, &targetLength,"\x7E\x7E",er r,2,&mySourceIndex);*/
371 len = ESC_LEN; 370 len = ESC_LEN;
372 escSeq = TILDE_ESCAPE; 371 escSeq = TILDE_ESCAPE;
373 CONCAT_ESCAPE_MACRO(args, myTargetIndex, targetLength, escSeq,er r,len,mySourceIndex); 372 CONCAT_ESCAPE_MACRO(args, myTargetIndex, targetLength, escSeq,er r,len,mySourceIndex);
374 continue; 373 continue;
375 } else if(mySourceChar <= 0x7f) { 374 } else if(mySourceChar <= 0x7f) {
376 length = 1;
377 targetUniChar = mySourceChar; 375 targetUniChar = mySourceChar;
378 } else { 376 } else {
379 length= ucnv_MBCSFromUChar32(myConverterData->gbConverter->share dData, 377 int32_t length= ucnv_MBCSFromUChar32(myConverterData->gbConverte r->sharedData,
380 mySourceChar,&targetUniChar,args->converter->useFallback); 378 mySourceChar,&targetUniChar,args->converter->useFallback);
381 /* we can only use lead bytes 21..7D and trail bytes 21..7E */ 379 /* we can only use lead bytes 21..7D and trail bytes 21..7E */
382 if( length == 2 && 380 if( length == 2 &&
383 (uint16_t)(targetUniChar - 0xa1a1) <= (0xfdfe - 0xa1a1) && 381 (uint16_t)(targetUniChar - 0xa1a1) <= (0xfdfe - 0xa1a1) &&
384 (uint8_t)(targetUniChar - 0xa1) <= (0xfe - 0xa1) 382 (uint8_t)(targetUniChar - 0xa1) <= (0xfe - 0xa1)
385 ) { 383 ) {
386 targetUniChar -= 0x8080; 384 targetUniChar -= 0x8080;
387 } else { 385 } else {
388 targetUniChar = missingCharMarker; 386 targetUniChar = missingCharMarker;
389 } 387 }
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
630 sizeof(UConverterSharedData), 628 sizeof(UConverterSharedData),
631 ~((uint32_t) 0), 629 ~((uint32_t) 0),
632 NULL, 630 NULL,
633 NULL, 631 NULL,
634 &_HZStaticData, 632 &_HZStaticData,
635 FALSE, 633 FALSE,
636 &_HZImpl, 634 &_HZImpl,
637 0 635 0
638 }; 636 };
639 637
640 #endif /* #if !UCONFIG_NO_CONVERSION && !UCONFIG_NO_LEGACY_CONVERSION && !UCONFI G_NO_NON_HTML5_CONVERSION */ 638 #endif /* #if !UCONFIG_NO_LEGACY_CONVERSION */
OLDNEW
« no previous file with comments | « source/common/ucnvbocu.cpp ('k') | source/common/ucnvisci.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698