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

Side by Side Diff: xfa/fxfa/parser/xfa_utils_imp.cpp

Issue 2094453004: Use some FXSYS methods instead of duplicating (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 5 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
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include "xfa/fxfa/parser/xfa_utils.h" 7 #include "xfa/fxfa/parser/xfa_utils.h"
8 8
9 #include "core/fxcrt/include/fx_ext.h" 9 #include "core/fxcrt/include/fx_ext.h"
10 #include "xfa/fde/xml/fde_xml_imp.h" 10 #include "xfa/fde/xml/fde_xml_imp.h"
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 } else if (str[0] == '-') { 296 } else if (str[0] == '-') {
297 bNegative = TRUE; 297 bNegative = TRUE;
298 cc++; 298 cc++;
299 } 299 }
300 int32_t nIntegralLen = 0; 300 int32_t nIntegralLen = 0;
301 while (cc < len) { 301 while (cc < len) {
302 if (str[cc] == '.' || str[cc] == 'E' || str[cc] == 'e' || 302 if (str[cc] == '.' || str[cc] == 'E' || str[cc] == 'e' ||
303 nIntegralLen > 17) { 303 nIntegralLen > 17) {
304 break; 304 break;
305 } 305 }
306 if (!XFA_IsDigit(str[cc])) { 306 if (!FXSYS_isDecimalDigit(str[cc])) {
307 return 0; 307 return 0;
308 } 308 }
309 nIntegral = nIntegral * 10 + str[cc] - '0'; 309 nIntegral = nIntegral * 10 + str[cc] - '0';
310 cc++; 310 cc++;
311 nIntegralLen++; 311 nIntegralLen++;
312 } 312 }
313 nIntegral = bNegative ? -nIntegral : nIntegral; 313 nIntegral = bNegative ? -nIntegral : nIntegral;
314 int32_t scale = 0; 314 int32_t scale = 0;
315 FX_DOUBLE fraction = 0.0; 315 FX_DOUBLE fraction = 0.0;
316 if (cc < len && str[cc] == '.') { 316 if (cc < len && str[cc] == '.') {
317 cc++; 317 cc++;
318 while (cc < len) { 318 while (cc < len) {
319 fraction += fraction_scales[scale] * (str[cc] - '0'); 319 fraction += fraction_scales[scale] * (str[cc] - '0');
320 scale++; 320 scale++;
321 cc++; 321 cc++;
322 if (cc == len) { 322 if (cc == len) {
323 break; 323 break;
324 } 324 }
325 if (scale == sizeof(fraction_scales) / sizeof(FX_DOUBLE) || 325 if (scale == sizeof(fraction_scales) / sizeof(FX_DOUBLE) ||
326 str[cc] == 'E' || str[cc] == 'e') { 326 str[cc] == 'E' || str[cc] == 'e') {
327 break; 327 break;
328 } 328 }
329 if (!XFA_IsDigit(str[cc])) { 329 if (!FXSYS_isDecimalDigit(str[cc])) {
330 return 0; 330 return 0;
331 } 331 }
332 } 332 }
333 dwFractional = (uint32_t)(fraction * 4294967296.0); 333 dwFractional = (uint32_t)(fraction * 4294967296.0);
334 } 334 }
335 if (cc < len && (str[cc] == 'E' || str[cc] == 'e')) { 335 if (cc < len && (str[cc] == 'E' || str[cc] == 'e')) {
336 cc++; 336 cc++;
337 if (cc < len) { 337 if (cc < len) {
338 if (str[cc] == '+') { 338 if (str[cc] == '+') {
339 cc++; 339 cc++;
340 } else if (str[cc] == '-') { 340 } else if (str[cc] == '-') {
341 bExpSign = TRUE; 341 bExpSign = TRUE;
342 cc++; 342 cc++;
343 } 343 }
344 } 344 }
345 while (cc < len) { 345 while (cc < len) {
346 if (str[cc] == '.' || !XFA_IsDigit(str[cc])) { 346 if (str[cc] == '.' || !FXSYS_isDecimalDigit(str[cc])) {
347 return 0; 347 return 0;
348 } 348 }
349 nExponent = nExponent * 10 + str[cc] - '0'; 349 nExponent = nExponent * 10 + str[cc] - '0';
350 cc++; 350 cc++;
351 } 351 }
352 nExponent = bExpSign ? -nExponent : nExponent; 352 nExponent = bExpSign ? -nExponent : nExponent;
353 } 353 }
354 FX_DOUBLE dValue = (dwFractional / 4294967296.0); 354 FX_DOUBLE dValue = (dwFractional / 4294967296.0);
355 dValue = nIntegral + (nIntegral >= 0 ? dValue : -dValue); 355 dValue = nIntegral + (nIntegral >= 0 ? dValue : -dValue);
356 if (nExponent != 0) { 356 if (nExponent != 0) {
357 dValue *= FXSYS_pow(10, (FX_FLOAT)nExponent); 357 dValue *= FXSYS_pow(10, (FX_FLOAT)nExponent);
358 } 358 }
359 return dValue; 359 return dValue;
360 } 360 }
361 361
362 FX_DOUBLE XFA_ByteStringToDouble(const CFX_ByteStringC& szStringVal) { 362 FX_DOUBLE XFA_ByteStringToDouble(const CFX_ByteStringC& szStringVal) {
363 CFX_WideString wsValue = CFX_WideString::FromUTF8(szStringVal); 363 CFX_WideString wsValue = CFX_WideString::FromUTF8(szStringVal);
364 return XFA_WideStringToDouble(wsValue); 364 return XFA_WideStringToDouble(wsValue);
365 } 365 }
366 366
367 int32_t XFA_MapRotation(int32_t nRotation) { 367 int32_t XFA_MapRotation(int32_t nRotation) {
368 nRotation = nRotation % 360; 368 nRotation = nRotation % 360;
369 nRotation = nRotation < 0 ? nRotation + 360 : nRotation; 369 nRotation = nRotation < 0 ? nRotation + 360 : nRotation;
370 return nRotation; 370 return nRotation;
371 } 371 }
OLDNEW
« xfa/fxfa/parser/xfa_localevalue.cpp ('K') | « xfa/fxfa/parser/xfa_utils.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698