| Filename | /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/windows/language.pm |
| Statements | Executed 38159 statements in 65.9ms |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 7326 | 4 | 3 | 45.5ms | 45.5ms | installer::windows::language::get_windows_language |
| 218 | 2 | 2 | 3.53ms | 3.54ms | installer::windows::language::get_windows_encoding |
| 1 | 1 | 1 | 348µs | 351µs | installer::windows::language::BEGIN@30 |
| 6 | 1 | 1 | 9µs | 9µs | installer::windows::language::CORE:match (opcode) |
| Line | State ments |
Time on line |
Calls | Time in subs |
Code |
|---|---|---|---|---|---|
| 1 | #************************************************************************* | ||||
| 2 | # | ||||
| 3 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | ||||
| 4 | # | ||||
| 5 | # Copyright 2000, 2010 Oracle and/or its affiliates. | ||||
| 6 | # | ||||
| 7 | # OpenOffice.org - a multi-platform office productivity suite | ||||
| 8 | # | ||||
| 9 | # This file is part of OpenOffice.org. | ||||
| 10 | # | ||||
| 11 | # OpenOffice.org is free software: you can redistribute it and/or modify | ||||
| 12 | # it under the terms of the GNU Lesser General Public License version 3 | ||||
| 13 | # only, as published by the Free Software Foundation. | ||||
| 14 | # | ||||
| 15 | # OpenOffice.org is distributed in the hope that it will be useful, | ||||
| 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||||
| 18 | # GNU Lesser General Public License version 3 for more details | ||||
| 19 | # (a copy is included in the LICENSE file that accompanied this code). | ||||
| 20 | # | ||||
| 21 | # You should have received a copy of the GNU Lesser General Public License | ||||
| 22 | # version 3 along with OpenOffice.org. If not, see | ||||
| 23 | # <http://www.openoffice.org/license.html> | ||||
| 24 | # for a copy of the LGPLv3 License. | ||||
| 25 | # | ||||
| 26 | #************************************************************************* | ||||
| 27 | |||||
| 28 | package installer::windows::language; | ||||
| 29 | |||||
| 30 | 2 | 449µs | 2 | 355µs | # spent 351µs (348+4) within installer::windows::language::BEGIN@30 which was called:
# once (348µs+4µs) by installer::worker::BEGIN@45 at line 30 # spent 351µs making 1 call to installer::windows::language::BEGIN@30
# spent 4µs making 1 call to UNIVERSAL::import |
| 31 | |||||
| 32 | #################################################### | ||||
| 33 | # Determining the Windows language (LCID) | ||||
| 34 | # English: 1033 | ||||
| 35 | #################################################### | ||||
| 36 | |||||
| 37 | sub get_windows_language | ||||
| 38 | # spent 45.5ms within installer::windows::language::get_windows_language which was called 7326 times, avg 6µs/call:
# 7000 times (41.7ms+0s) by installer::windows::file::get_language_for_file at line 677 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/windows/file.pm, avg 6µs/call
# 109 times (1.36ms+0s) by installer::windows::property::get_productlanguage_for_property_table at line 101 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/windows/property.pm, avg 12µs/call
# 109 times (964µs+0s) by installer::windows::msiglobal::get_template_for_sis at line 572 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/windows/msiglobal.pm, avg 9µs/call
# 108 times (1.47ms+0s) by installer::windows::msiglobal::create_transforms at line 803 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/windows/msiglobal.pm, avg 14µs/call | ||||
| 39 | 7326 | 5.60ms | my ($language) = @_; | ||
| 40 | |||||
| 41 | 7326 | 3.73ms | my $windowslanguage = ""; | ||
| 42 | |||||
| 43 | 7326 | 12.6ms | if ( $installer::globals::msilanguage->{$language} ) { $windowslanguage = $installer::globals::msilanguage->{$language}; } | ||
| 44 | |||||
| 45 | 7326 | 3.15ms | if ( $windowslanguage eq "" ) { installer::exiter::exit_program("ERROR: Unknown language $language in function get_windows_language", "get_windows_language"); } | ||
| 46 | |||||
| 47 | 7326 | 36.4ms | return $windowslanguage; | ||
| 48 | } | ||||
| 49 | |||||
| 50 | #################################################### | ||||
| 51 | # Determining the Windows language ANSI-Codepage | ||||
| 52 | # English: 1252 | ||||
| 53 | #################################################### | ||||
| 54 | |||||
| 55 | sub get_windows_encoding | ||||
| 56 | # spent 3.54ms (3.53+9µs) within installer::windows::language::get_windows_encoding which was called 218 times, avg 16µs/call:
# 109 times (1.87ms+5µs) by installer::windows::idtglobal::setencoding at line 1368 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/windows/idtglobal.pm, avg 17µs/call
# 109 times (1.66ms+4µs) by installer::windows::msiglobal::get_codepage_for_sis at line 554 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/windows/msiglobal.pm, avg 15µs/call | ||||
| 57 | 218 | 281µs | my ($language) = @_; | ||
| 58 | |||||
| 59 | 218 | 259µs | my $windowsencoding = ""; | ||
| 60 | |||||
| 61 | 218 | 1.12ms | if ( $installer::globals::msiencoding->{$language} ) { $windowsencoding = $installer::globals::msiencoding->{$language}; } | ||
| 62 | |||||
| 63 | 218 | 274µs | if ( $windowsencoding eq "" ) { $windowsencoding = "0"; } # setting value, if the language is not listed in the encodinglist | ||
| 64 | |||||
| 65 | 218 | 173µs | if ( $windowsencoding eq "0" ) { $windowsencoding = "65001"; } # languages with "0" have to be available in UTF-8 (65001) | ||
| 66 | |||||
| 67 | # Asian multilingual installation sets need a code neutral Windows Installer database -> $windowsencoding = 0 | ||||
| 68 | 218 | 222µs | 6 | 9µs | if (( $language eq "en-US" ) && (( $installer::globals::product =~ /suitemulti/i ) || ( $installer::globals::product =~ /officemulti/i ) || ( $installer::globals::product =~ /c05office/i ) || ( $installer::globals::added_english ))) { $windowsencoding = "0"; } # spent 9µs making 6 calls to installer::windows::language::CORE:match, avg 1µs/call |
| 69 | |||||
| 70 | 218 | 1.61ms | return $windowsencoding; | ||
| 71 | } | ||||
| 72 | |||||
| 73 | 1 | 7µs | 1; | ||
# spent 9µs within installer::windows::language::CORE:match which was called 6 times, avg 1µs/call:
# 6 times (9µs+0s) by installer::windows::language::get_windows_encoding at line 68, avg 1µs/call |