| OLD | NEW |
| 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 "../../include/javascript/JavaScript.h" | 7 #include "../../include/javascript/JavaScript.h" |
| 8 #include "../../include/javascript/IJavaScript.h" | 8 #include "../../include/javascript/IJavaScript.h" |
| 9 #include "../../include/javascript/JS_Define.h" | 9 #include "../../include/javascript/JS_Define.h" |
| 10 #include "../../include/javascript/JS_Object.h" | 10 #include "../../include/javascript/JS_Object.h" |
| (...skipping 906 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 917 CFX_WideString sRet = L"",sPart = L""; | 917 CFX_WideString sRet = L"",sPart = L""; |
| 918 | 918 |
| 919 int nYear = JS_GetYearFromTime(dDate); | 919 int nYear = JS_GetYearFromTime(dDate); |
| 920 int nMonth = JS_GetMonthFromTime(dDate) + 1; | 920 int nMonth = JS_GetMonthFromTime(dDate) + 1; |
| 921 int nDay = JS_GetDayFromTime(dDate); | 921 int nDay = JS_GetDayFromTime(dDate); |
| 922 int nHour = JS_GetHourFromTime(dDate); | 922 int nHour = JS_GetHourFromTime(dDate); |
| 923 int nMin = JS_GetMinFromTime(dDate); | 923 int nMin = JS_GetMinFromTime(dDate); |
| 924 int nSec = JS_GetSecFromTime(dDate); | 924 int nSec = JS_GetSecFromTime(dDate); |
| 925 | 925 |
| 926 int i = 0; | 926 int i = 0; |
| 927 FX_WCHAR c; | |
| 928 while (i < format.GetLength()) | 927 while (i < format.GetLength()) |
| 929 { | 928 { |
| 930 » » c = format.GetAt(i); | 929 » FX_WCHAR c = format.GetAt(i); |
| 930 int remaining = format.GetLength() - i - 1; |
| 931 sPart = L""; | 931 sPart = L""; |
| 932 switch (c) | 932 switch (c) |
| 933 { | 933 { |
| 934 case 'y': | 934 case 'y': |
| 935 case 'm': | 935 case 'm': |
| 936 case 'd': | 936 case 'd': |
| 937 case 'H': | 937 case 'H': |
| 938 case 'h': | 938 case 'h': |
| 939 case 'M': | 939 case 'M': |
| 940 case 's': | 940 case 's': |
| 941 case 't': | 941 case 't': |
| 942 » » » » if (format.GetAt(i+1) != c) | 942 » » » » if (remaining == 0 || format.GetAt(i+1) != c) |
| 943 { | 943 { |
| 944 switch (c) | 944 switch (c) |
| 945 { | 945 { |
| 946 case 'y': | 946 case 'y': |
| 947 sPart += c; | 947 sPart += c; |
| 948 break; | 948 break; |
| 949 case 'm': | 949 case 'm': |
| 950 sPart.Format((FX_LPCWSTR
)L"%d",nMonth); | 950 sPart.Format((FX_LPCWSTR
)L"%d",nMonth); |
| 951 break; | 951 break; |
| 952 case 'd': | 952 case 'd': |
| 953 sPart.Format((FX_LPCWSTR
)L"%d",nDay); | 953 sPart.Format((FX_LPCWSTR
)L"%d",nDay); |
| 954 break; | 954 break; |
| 955 case 'H': | 955 case 'H': |
| 956 sPart.Format((FX_LPCWSTR
)L"%d",nHour); | 956 sPart.Format((FX_LPCWSTR
)L"%d",nHour); |
| 957 break; | 957 break; |
| 958 case 'h': | 958 case 'h': |
| 959 sPart.Format((FX_LPCWSTR
)L"%d",nHour>12?nHour - 12:nHour); | 959 sPart.Format((FX_LPCWSTR
)L"%d",nHour>12?nHour - 12:nHour); |
| 960 break; | 960 break; |
| 961 case 'M': | 961 case 'M': |
| 962 sPart.Format((FX_LPCWSTR
)L"%d",nMin); | 962 sPart.Format((FX_LPCWSTR
)L"%d",nMin); |
| 963 break; | 963 break; |
| 964 case 's': | 964 case 's': |
| 965 sPart.Format((FX_LPCWSTR
)L"%d",nSec); | 965 sPart.Format((FX_LPCWSTR
)L"%d",nSec); |
| 966 break; | 966 break; |
| 967 » » » » » » case 't':» » »
» | 967 » » » » » » case 't': |
| 968 sPart += nHour>12?'p':'a
'; | 968 sPart += nHour>12?'p':'a
'; |
| 969 break; | 969 break; |
| 970 » » » » » }» » » » » | 970 » » » » » } |
| 971 i++; | 971 i++; |
| 972 } | 972 } |
| 973 » » » » else if (format.GetAt(i+1) == c && format.GetAt(
i+2) != c) | 973 » » » » else if (remaining == 1 || format.GetAt(i+2) !=
c) |
| 974 { | 974 { |
| 975 switch (c) | 975 switch (c) |
| 976 { | 976 { |
| 977 case 'y': | 977 case 'y': |
| 978 sPart.Format((FX_LPCWSTR
)L"%02d",nYear - (nYear / 100) * 100); | 978 sPart.Format((FX_LPCWSTR
)L"%02d",nYear - (nYear / 100) * 100); |
| 979 break; | 979 break; |
| 980 case 'm': | 980 case 'm': |
| 981 sPart.Format((FX_LPCWSTR
)L"%02d",nMonth); | 981 sPart.Format((FX_LPCWSTR
)L"%02d",nMonth); |
| 982 break; | 982 break; |
| 983 case 'd': | 983 case 'd': |
| 984 sPart.Format((FX_LPCWSTR
)L"%02d",nDay); | 984 sPart.Format((FX_LPCWSTR
)L"%02d",nDay); |
| 985 break; | 985 break; |
| 986 case 'H': | 986 case 'H': |
| 987 sPart.Format((FX_LPCWSTR
)L"%02d",nHour); | 987 sPart.Format((FX_LPCWSTR
)L"%02d",nHour); |
| 988 break; | 988 break; |
| 989 case 'h': | 989 case 'h': |
| 990 sPart.Format((FX_LPCWSTR
)L"%02d",nHour>12?nHour - 12:nHour); | 990 sPart.Format((FX_LPCWSTR
)L"%02d",nHour>12?nHour - 12:nHour); |
| 991 break; | 991 break; |
| 992 case 'M': | 992 case 'M': |
| 993 sPart.Format((FX_LPCWSTR
)L"%02d",nMin); | 993 sPart.Format((FX_LPCWSTR
)L"%02d",nMin); |
| 994 break; | 994 break; |
| 995 case 's': | 995 case 's': |
| 996 sPart.Format((FX_LPCWSTR
)L"%02d",nSec); | 996 sPart.Format((FX_LPCWSTR
)L"%02d",nSec); |
| 997 break; | 997 break; |
| 998 » » » » » » case 't':» » »
» » » » | 998 » » » » » » case 't': |
| 999 sPart = nHour>12? (FX_LP
CWSTR)L"pm": (FX_LPCWSTR)L"am"; | 999 sPart = nHour>12? (FX_LP
CWSTR)L"pm": (FX_LPCWSTR)L"am"; |
| 1000 break; | 1000 break; |
| 1001 » » » » » }» » » | 1001 » » » » » } |
| 1002 i+=2; | 1002 i+=2; |
| 1003 } | 1003 } |
| 1004 » » » » else if (format.GetAt(i+1) == c && format.GetAt(
i+2) == c && format.GetAt(i+3) != c) | 1004 » » » » else if (remaining == 2 || format.GetAt(i+3) !=
c) |
| 1005 » » » » {» » | 1005 » » » » { |
| 1006 switch (c) | 1006 switch (c) |
| 1007 { | 1007 { |
| 1008 case 'm': | 1008 case 'm': |
| 1009 i+=3; | 1009 i+=3; |
| 1010 if (nMonth > 0&&nMonth <
= 12) | 1010 if (nMonth > 0&&nMonth <
= 12) |
| 1011 sPart += months[
nMonth - 1]; | 1011 sPart += months[
nMonth - 1]; |
| 1012 break; | 1012 break; |
| 1013 default: | 1013 default: |
| 1014 i+=3; | 1014 i+=3; |
| 1015 sPart += c; | 1015 sPart += c; |
| 1016 sPart += c; | 1016 sPart += c; |
| 1017 sPart += c; | 1017 sPart += c; |
| 1018 break; | 1018 break; |
| 1019 » » » » » }» » » » » | 1019 » » » » » } |
| 1020 } | 1020 } |
| 1021 » » » » else if (format.GetAt(i+1) == c && format.GetAt(
i+2) == c && format.GetAt(i+3) == c && format.GetAt(i+4) != c) | 1021 » » » » else if (remaining == 3 || format.GetAt(i+4) !=
c) |
| 1022 { | 1022 { |
| 1023 switch (c) | 1023 switch (c) |
| 1024 { | 1024 { |
| 1025 case 'y': | 1025 case 'y': |
| 1026 sPart.Format((FX_LPCWSTR
)L"%04d",nYear); | 1026 sPart.Format((FX_LPCWSTR
)L"%04d",nYear); |
| 1027 i += 4; | 1027 i += 4; |
| 1028 » » » » » » » break;» | 1028 » » » » » » » break; |
| 1029 case 'm': | 1029 case 'm': |
| 1030 i+=4; | 1030 i+=4; |
| 1031 if (nMonth > 0&&nMonth <
= 12) | 1031 if (nMonth > 0&&nMonth <
= 12) |
| 1032 sPart += fullmon
ths[nMonth - 1]; | 1032 sPart += fullmon
ths[nMonth - 1]; |
| 1033 break; | 1033 break; |
| 1034 default: | 1034 default: |
| 1035 i += 4; | 1035 i += 4; |
| 1036 sPart += c; | 1036 sPart += c; |
| 1037 sPart += c; | 1037 sPart += c; |
| 1038 sPart += c; | 1038 sPart += c; |
| 1039 sPart += c; | 1039 sPart += c; |
| 1040 break; | 1040 break; |
| 1041 » » » » » }» » » » » | 1041 » » » » » } |
| 1042 } | 1042 } |
| 1043 else | 1043 else |
| 1044 { | 1044 { |
| 1045 i++; | 1045 i++; |
| 1046 sPart += c; | 1046 sPart += c; |
| 1047 } | 1047 } |
| 1048 » » » » break;» » » | 1048 » » » » break; |
| 1049 default: | 1049 default: |
| 1050 i++; | 1050 i++; |
| 1051 sPart += c; | 1051 sPart += c; |
| 1052 break; | 1052 break; |
| 1053 } | 1053 } |
| 1054 » » | 1054 |
| 1055 sRet += sPart; | 1055 sRet += sPart; |
| 1056 } | 1056 } |
| 1057 | 1057 |
| 1058 return sRet; | 1058 return sRet; |
| 1059 } | 1059 } |
| 1060 | 1060 |
| 1061 /* -------------------------------------------------------------------------- */ | 1061 /* -------------------------------------------------------------------------- */ |
| 1062 | 1062 |
| 1063 //function AFNumber_Format(nDec, sepStyle, negStyle, currStyle, strCurrency, bCu
rrencyPrepend) | 1063 //function AFNumber_Format(nDec, sepStyle, negStyle, currStyle, strCurrency, bCu
rrencyPrepend) |
| 1064 FX_BOOL CJS_PublicMethods::AFNumber_Format(OBJ_METHOD_PARAMS) | 1064 FX_BOOL CJS_PublicMethods::AFNumber_Format(OBJ_METHOD_PARAMS) |
| (...skipping 1262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2327 nums.SetElement(nIndex,CJS_Value(isolate,(FX_LPCWSTR)sPart)); | 2327 nums.SetElement(nIndex,CJS_Value(isolate,(FX_LPCWSTR)sPart)); |
| 2328 } | 2328 } |
| 2329 | 2329 |
| 2330 if (nums.GetLength() > 0) | 2330 if (nums.GetLength() > 0) |
| 2331 vRet = nums; | 2331 vRet = nums; |
| 2332 else | 2332 else |
| 2333 vRet.SetNull(); | 2333 vRet.SetNull(); |
| 2334 | 2334 |
| 2335 return TRUE; | 2335 return TRUE; |
| 2336 } | 2336 } |
| OLD | NEW |